返回论坛首页联系我们论坛帮助
>> 在使用电脑时遇到问题了吗?来这里求答解疑吧……本版精华
搜一搜相关精彩主题 
泥客论坛(十几年前的回忆)泥客技术☆电脑应用☆ → [转帖][小技巧]保证窗口在不同系统下完整显示

您是本帖的第 3774 个阅读者
树形 打印
标题:
[转帖][小技巧]保证窗口在不同系统下完整显示
dmacro
帅哥哟,离线,有人找我吗?
头衔:环保局局长
等级:书记
威望:3893
文章:2234
积分:31176
注册:2003年7月2日
楼主
  QQ 点击这里发送电子邮件给dmacro 访问dmacro的主页

发贴心情
[转帖][小技巧]保证窗口在不同系统下完整显示
当我们在win9x下写好的程序,拿到xp下运行时,就会发现程序界面发生了变化,有的部分不能完全显示了,如图

此主题相关图片如下:

这是什么原因呢?原来只是由于xp下的窗口标题栏比9x下的要高一些,而窗口高度又是一定的,所以客户区高度就被缩减了。

看来关键就是调整窗口高度。有人可能会想,这有什么难的?在程序中先判断一下当前操作系统,再根据不同的系统给窗口高度赋不同的值就可以了。想法是好的,但并不完善。因为即使是同一个操作系统,也有不同的风格,标题栏的高度是可以随意更改的。而且从上面的图可以看出,窗口高度=客户区高度+标题栏高度+边框高度,除了标题栏高度可变以外,边框高度也是一个不可忽视的变量。

又有人会想,这也好办,用API获取标题栏高度和边框高度不就行了?这是个好办法,但对于一些初学者来说,API无疑是天书。有没有更简单的办法呢?当然有!请看下面的一段代码

窗口.高度 = 窗口.高度 - 取用户区高度 () + 205

什么意思,对照图片想一想。窗口.高度 - 取用户区高度 () 就把 标题栏高度+边框高度 算出来了,再加上预先算出的用户区高度--205,就是窗口应该显示的高度了。这样一来,无论标题栏高度和边框高度是什么,窗口上的控件都能够完整显示。

改过的代码在98和xp下的效果:

此主题相关图片如下:


ip地址已设置保密
2004/4/30 9:58:08
青果果
帅哥哟,离线,有人找我吗?
头衔:超级水将军
等级:班主任
文章:711
积分:4977
注册:2005年4月25日
2
 点击这里发送电子邮件给青果果

发贴心情

好资料!!!

多谢分享~~~~~~~~~


哗.~哗.~哗.~~~   给我一个拥抱,还你三分钟窒息,呵呵哈......
ip地址已设置保密
2005/4/28 0:26:03

 2   2   1/1页      1    
Powered By Dvbbs Version 7.1.0 Sp1
页面执行时间 00.12500 秒, 4 次数据查询