如何实现像qq一样的窗体?(50分)

  • 主题发起人 主题发起人 风清云淡系明月
  • 开始时间 开始时间

风清云淡系明月

Unregistered / Unconfirmed
GUEST, unregistred user!
当鼠标离开时隐藏,当鼠标移动到屏幕边上时又显示?
问题好像很菜 :)
 
有二个控件,express d
outlook
好象是这样的。
 
我没找到合适的分类,所以发到这里了,不用控件是否能实现?
我想用一个timer,定时检查窗口位置与鼠标位置的关系,在进行处理,但是时间间隔很短,很费资源,不知道有没有好的方法
 
我建议你先当这主窗体的位置离屏幕一定的距离时就隐藏成一个小框框,如果当鼠表移到这个框上时,就显时主窗体。对不起,第一次回答时发错了。
 
告诉你了。不是完全的HIDE。因为一个真正HIDE掉的东西。根本无法接受MOUSE MESSAGE。(当然你可以用SENDERMESSAGE之类的模拟鼠标)
它离屏幕的距离总不会超过屏幕的。而且是鼠标能到达的地方。鼠标能到达,那么CM——MOUSEENTER,CM——MOUSELEAVE,WM——MOUSEMOVE这些消息就都可以用了啊?鼠标上来就把自己的位置重新放一放,离开了在放一放。有什么难吗?定时器非常耗CPU,别用,别用!
 
这里有你想要的答案,而且我已经实现了
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2395147
 
其实很简单我是这样实现的.
1.from1.MouseMove事件中加Form2.Visible :=true;
2.Form2.MouseOut(自己增加的事件,鼠标离开窗体后)事件中加Form2.Visible :=false;
from1是一个很小停靠的窗体 Form2是你使用的窗体
效果不错的,很简单
 

Similar threads

D
回复
0
查看
848
DelphiTeacher的专栏
D
D
回复
0
查看
858
DelphiTeacher的专栏
D
D
回复
0
查看
687
DelphiTeacher的专栏
D
后退
顶部