在 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:将被激活并被调入前台的窗口句柄。
返回值:如果窗口设入了前台,返回值为非零;如果窗口未被设入前台,返回值为零
|
相关推荐
通过以上方法,可以有效地解决托盘菜单不消失的问题,提高用户体验。开发人员可以根据实际需求选择合适的方法进行实现。同时,在实际应用中还需要注意各种细节问题,例如确保菜单的显示位置不会超出屏幕边界等,以...
trayMenu.TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam)); else if (wParam == WM_TIMER) trayMenu.DestroyMenu(); // 鼠标离开,关闭菜单 } ``` 6. **注意...
本文将深入探讨如何在基于MFC的对话框应用程序中实现“最小化到托盘”的功能,即当用户点击程序窗口的最小化按钮时,程序窗口不消失而是隐藏到任务栏的通知区域(系统托盘)。 系统托盘是Windows操作系统提供的一项...
MenuItem showMenuItem = new MenuItem(trayMenu, SWT.PUSH); showMenuItem.setText("显示(&s)"); showMenuItem.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent ...
关于隐藏系统托盘图标,可以通过设置`Visible`属性为`False`来实现,这会让图标暂时从托盘区域消失,但并不会释放资源。如果需要再次显示,只需将`Visible`设回`True`即可。 除了基本的添加和移除,还可以添加右键...
QAction* showAction = trayMenu->addAction("显示"); QAction* quitAction = trayMenu->addAction("退出"); trayIcon.setContextMenu(trayMenu); ``` 这里,`showAction`和`quitAction`分别对应“显示”和...
private ContextMenuStrip trayMenu; ``` 2. 在窗体构造函数中初始化这两个对象,并设置相关属性。 ```csharp trayIcon = new NotifyIcon(); trayMenu = new ContextMenuStrip(); trayIcon.Icon = Properties....
描述中提到的“PB11以下版本打不开”可能是指在某些PowerBuilder的早期版本中,该特定功能或相关的代码结构不被支持,或者存在兼容性问题,因此需要使用PB11或更高版本来实现这一功能。 在提供的压缩包文件中,我们...
系统托盘是Windows操作系统中一个特殊区域,通常位于任务栏右下角,用于放置各种程序的图标,以便在不占用桌面空间的情况下提供快捷访问或后台运行服务。 描述 "左键其他位置托盘菜单消失" 提示我们这个VB应用可能...
扫描过程中左下角状态栏会有提示,扫描完成后提示消失,扫描过程中建议不要新建、修改、删除、粘贴、剪切、排序记录,不然可能出现扫描结果错乱,其它功能可正常使用; * F7 :新建树状目录; * F9 :将选中记录...
扫描过程中左下角状态栏会有提示,扫描完成后提示消失,扫描过程中建议不要新建、修改、删除、粘贴、剪切、排序记录,不然可能出现扫描结果错乱,其它功能可正常使用; * F7 :新建树状目录; * F9 :将选中记录...
首先,我们需要了解托盘图标(Tray Icon)的概念。在Windows操作系统中,托盘图标是位于任务栏右下角系统托盘区域的小图标,通常与后台运行的程序关联。在Delphi中,我们可以使用TTrayIcon组件来创建这样的托盘图标...