在trayicon上右键弹出的popupmenu不能自动消失,此时再点击任务栏,popupmenu下面的部分就会被任务栏遮住。请问如何解决?(50分)

  • 主题发起人 主题发起人 hoir
  • 开始时间 开始时间
H

hoir

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大虾:
我的一个trayicon程序中出现这样的问题:
在trayicon上右键弹出的popupmenu不能自动消失,此时再点击任务栏,
popupmenu下面的部分就会被任务栏遮住。
请问如何在焦点移出trayicon时关闭popupmenu?
 
不知道为什么,但这种情况好多都会出现,
 
由于popupmenu是有模式窗体,所以在焦点移出时是无法自动关闭,你可以试着模拟
键盘或鼠标事件,但这不是很好做。
 
if fPopupMenu<>nil then
begin
PopupMenu.PopupComponent := Self;
PopupMenu.Popup(MouseCo.x,MouseCo.y);
PostMessage(0,0,0,0);
end;

在菜单弹出时,发一条空消息就不出入上现象了!
 
我已经在csdn上得到答案啦!
OopsWare说发送空消息是对的,但popup之前要bringtotop。

发分了。
 
多人接受答案了。
 
后退
顶部