• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

Delphi中正常窗口的实现

发布: 2008-5-19 10:32 | 作者: 不详 | 来源: 5uwl.net | 查看: 104次 | 进入软件测试论坛讨论

领测软件测试网 关键字:Delphi 窗口摘要 在Delphi的VCL库中,为了使用以及实现的方便,应用对象Application创建了一个用来处理消息响应的隐藏窗口。而正是这个窗口,使得用VCL开发出来的程序存在着与其他窗口不能正常排列平铺等显得有些畸形的问题。本文通过对VCL的深入分析,给出了一个只需要对应用程序项目文件作3行代码的修改就能解决问题的方案,且不需要原有的编程方式作任何改变。

1 引言
用Delphi所提供的VCL类库编写的Windows应用程序,有一个明显不同于标准Windows窗口的特点--主窗口的系统菜单与任务栏上的系统菜单不相同。一般情况下,主窗口的系统菜单有六个菜单项而任务栏系统菜单只有三个菜单项。实际使用中我们发现用VCL开发的程序有以下几个方面的尴尬:

1)不够美观。这是肯定的,与标准不符自然会显得有些畸形。
2)主窗口最小化时没有动画效果。
3)窗口不能正常与其它窗口排列平铺。
4)任务栏系统菜单具有最高的优先级。在存在模态窗口的情况下整个程序仍然可以被最小化,与模态窗口的设计相违背。

主窗口最小化动画效果的问题在Delphi 5.0以后的版本中已通过Forms.pas中的ShowWinNoAnimate函数解决,但其余几个问题则一直存在。尽管多数情况下这不会对应用程序带来什么影响,但在一些追求专业效果的场合确实不可接受的。由于C++ Builder与Delphi使用的是同一套类库,所以上述问题同样存在于使用C++ Builder编写的Windows应用程序中。
在以前的文章里(阿甘的家中可以找到),我已讨论过这个问题,当时的叙述看起来基本上是一种取巧的方法,而我也是在偶然之中才找到那个方法的。本文的任务就是通过对VCL类库作一些分析,说明那样做的原理,其次再给出一个只用3行代码的方法,完完全全地解决Delphi中这个"非正常窗口"的问题。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

TAG: delphi Delphi DELPHI 窗口


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网