Tray Menu 不点不消失的问题

阅读更多
问题:Tray Menu 问题 ( 积分:10, 回复:4, 阅读:34 )
分类:Windows API ( 版主:amo, cAkk )
来自:lordofbinladen, 时间:2004-8-7 13:04:00, ID:2753251 [显示:小字体 | 大字体]

 

在 Tray 增加了一个自定义Icon, 可顺利popup menu。
问题是当Popup menu 后, 若点选其他软件而没选择Menu 的项, Menu 将一直开著, 请问如何解?  

来自: antong, 时间:2004-8-7 13:43:54, ID:2753298 | 编辑
遇到同样问题,帮顶  

来自: 刘麻子, 时间:2004-8-7 13:57:59, ID:2753314
弹出菜单之前先 :    SetForegroundWindow(Handle);  

来自: antong, 时间:2004-8-7 18:51:42, ID:2753702 | 编辑
麻子兄,可以说一下SetForegroundWindow是干什么的吗  

来自: miaofeng, 时间:2004-8-8 10:03:40, ID:2754147
procedure TwinTray.IconOnClick(var message: TMessage);
var P: TPoint;
begin
  if message.lParam = WM_RBUTTONDOWN then
  begin
    SetForegroundWindow(WinTray.Handle);
    GetCursorPos(P);
    pmTray.Popup(P.X, P.Y);
  end;
end;
    函数功能:该函数将创建指定窗口的线程设置到前台,并且激活该窗口。键盘输入转向该窗口,并为用户改各种可视的记号。系统给创建前台窗口的线程分配的权限稍高于其他线程。

    函数原型:BOOL SetForegroundWindow(HWND hWnd)

    参数:

    hWnd:将被激活并被调入前台的窗口句柄。

    返回值:如果窗口设入了前台,返回值为非零;如果窗口未被设入前台,返回值为零  

 

问题讨论没有结束 ...
antong,对此问题,您可以:

你可能感兴趣的:(Windows)