请问如何隐藏popupmenu菜单?就像windows里的浮动菜单一样
解决方案 »
- 程序发布的简单问题
- delphi设计 xp风格左侧任务栏(急!!!!)
- 数据库中,尽量用存储过程的想法好不好?
- RICHEDIT控件的使用问题,在线等,急急急。。。3Q
- 求救利用adoquery排序
- 怎么样才能知道DLL中的接口呢?
- 求救:SQLServer2000的服务器被关掉后再打开,工作站上的SQL配置再也连不上数据库??
- 在程序中如何判断Windows状态?
- 急,关于socket传输的问题,我在线
- 菜鸟请教:我用D5的ADO组件写了一个连接数据库的程序,生成一个EXE文件供PB调用,有的机器能跑,有的不能,WHY?
- 请问delphi中开平方的数学函数是什么,谢谢
- 如何用Report Builder制作工资条,采用A3纸,最好能提供一些例子。
不让它出现?
让它的所属控件的PopupMenu为空不就行了
不知道你用的是什么方法实现的,这里给出我在控件中的方法。其中,有一句代码很关键,就是解决这个问题的。可以作为参考。procedure TMyTrayIcon.wndproc(var msg:Tmessage);
var p:Tpoint;
begin
with msg do begin
if (msg = WM_TRAYICON) then begin
case lParam of
WM_LBUTTONDBLCLK : if assigned (FOnDblClick) then FOnDblClick(self);
WM_LBUTTONUP : if assigned(FOnClick)then FOnClick(self);
WM_RBUTTONUP : if assigned(popupmenu) then begin
SetForegroundWindow(fWindowHandle);//关键是这一句,缺少了就没人管菜单了:)
GetCursorPos(p);
popupmenu.Popup(p.x,p.y);
end;
end;
end
else Result := DefWindowProc(FWindowHandle, Msg, wParam, lParam);
end;
end;
fWindowHandle : HWND;
...
FWindowHandle := AllocateHWnd( wndproc );