腾讯QQ是当前流行的网络聊天工具之一,由于它在应用设计上有很多独特之处,所以也吸引了很多程序员对之进行研究和模仿。在这里,我将利用Delphi对QQ的窗体自动隐藏效果提出自己的实现方法。 一、问题的提出熟悉QQ使用的朋友都知道,当QQ窗体区域超出屏幕四边时,窗体就会自动“消失”,只留下窗体一边的小部分显露在桌面上。当用鼠标移动到显露部分之上,窗体就会在隐藏位置重新完整显示;但当鼠标离开窗体区域后,窗体便会重新进入隐藏状态。 对隐藏的全过程进行分析,可以得出两点推测:第一,窗体隐藏的处理是与窗体移动过程有关;第二,窗体隐藏的触发条件是窗体的区域已经移动到 [阅读全文] [PDF]
四、进一步完善 上面的代码已经基本实现了窗体的自动隐藏效果,但是我在介绍代码的时候有两个问题是被提出但没有被解答的。 首先是为什么触发隐藏时Fanchors中将至少有一个值而不多于两个值呢?注意代码中对Fanchors的赋值是通过四个判断进行的,那么如果触发隐藏的话,Fanchors中将毫无疑问会有一个值存在,但这种情况是针对隐藏发生在屏幕的四边而言。当窗体被推入到屏幕的四角时,那么Fanchors中便将会有两个值存在。那此时窗体会隐藏到什么地方呢? 实际的效果告诉我们,窗体会被隐藏到屏幕的四角上。此时若我们试图让窗体重新显示,你便会发现窗体在不断的 [阅读全文] [PDF]
三、初步的实现 首先我们定义一个过程对WM_MOVING消息进行拦截处理,代码如下:……privateFAnchors: TAnchors;procedure WMMOVING(var Msg: TMessage); message WM_MOVING;……uses Math,type;procedure TForm1.WMMOVING(var Msg: TMessage); begininherited;with PRect(Msg.LParam)^ dobegin Left := Min(Max(0, Left), Screen.Width - Wi [阅读全文] [PDF]
1 共4条 分1页
- 单片机数码管:51单片机数码管显示的好帮手---MAX...
- 点阵显示屏:智能点阵显示屏HCMS-29xx/39xx及其应用
- 单片机教程:单片机编程入门七
- 汇编语言指令集:IBM-PC汇编语言指令集
- 数据传送指令:MCS-51数据传送指令
- 0083智能工社:浅谈足球游戏的人工智能
- 提拔将领:即时战略游戏将领指挥AI方案设想
- directinput:DirectInput 鼠标编程入门
- 实现爆炸后的振动效果
- 飞机射击类小游戏:有关飞机射击类游戏的设计原理
- 音效最好的播放器:游戏音乐和音效的播放
- 游戏调试:利用双计算机调试游戏程序
- 多任务处理:游戏中的多任务处理
- 电脑游戏中的人工智能制作
- 系统升级:角色扮演游戏的升级系统研究
- rpg游戏制作:深入RPG游戏制作—图形篇
- directdraw:通向DirectDraw的捷径
- 3d场景:如何在3D场景中加入Fog
- 游戏搜索:论游戏中的搜索问题(初级篇)
- directx如何使用:使用DirectX优化声音特性