关于桌面右下角图标的问题 (100分)

  • 主题发起人 主题发起人 chenzheng770101
  • 开始时间 开始时间
C

chenzheng770101

Unregistered / Unconfirmed
GUEST, unregistred user!
我想把程序运行时放在右下角只显示一个图标。同时单击右键时有快捷菜单,已实现
但是当我弹出快捷菜单后。如果鼠标不点在图标快捷菜单上,
而在桌面上或者其它地方时,我想这时快捷菜单应该消失,但却不消失。哪位高手指点下
 
我想这个不怎么好实现呀。因为你右击图标时,菜单从你鼠标的那点弹出的,也就是不
是在菜弹上。也就是说,如果按你这样,菜弹只会一闪而过。
 
你是不是应该对当前MOUSE的位置进行判断呢?然后再作菜单的弹出处理^_^
getpos.x;
getpos.y;
............
 
楼上的兄弟可能没有明白我的意思。
比如音量控制图标:用右键单击时会弹出
打开音量控制和和调整音频属性两个菜单。
此时若鼠标点在桌面或者其它的地方,这个菜单
就会消失。而我的程序它不能消失。

 
用CoolTrayIcon控件能做得很好的。如要我可以给你!有例程很简单。
 
这个问题可能不好解决。QQ都有着问题的
 
我给你个实例吧
var
p:point;
begin
...
if Message.LParam= WM_RBUTTONDOWN Then
begin
GetCursorPos(p);
SetForegroundWindow(Handle);//注意这一句
pop1.Popup(p.x,p.y );
end;
end;
 
这是windows的bug,微软承认的。
pt_email方法可以解决。我也是这么做的。
你可以看看效果:
http://kuga.51.net/show_soft.php?id=31
 
多人接受答案了。
 

Similar threads

回复
0
查看
804
不得闲
D
回复
0
查看
825
DelphiTeacher的专栏
D
D
回复
0
查看
831
DelphiTeacher的专栏
D
后退
顶部