弹出的系统菜单,不响应事件该如何办?(100分)

  • 主题发起人 主题发起人 wjh_wy
  • 开始时间 开始时间
W

wjh_wy

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure PopupSystemMenu(hWnd: THandle; X, Y: Integer);
var
SysMenu: HMENU;
begin
SysMenu := GetSystemMenu(hWnd, False);
TrackPopupMenu(SysMenu, 0, X, Y, 0, Self.Handle, nil);
end;

PopupSystemMenu(这个句柄是从其程序中获得的, 0, 0)

菜单可以弹出,但是不响应事件。
 
我试了 确实不响应事件 不知道什么原因/
 
以下是Reboot以前回答的。
改写窗口的WM_COMMNAD。
procedure MYWMCOMMAND(var msg: TWMCOMMAND); message WM_COMMAND;
procedure TForm1.MYWMCOMMAND(var msg: TWMCOMMNAD);
begin
case msg.ItemId of
SC_CLOSE: SendMessage(Handle,WM_SYSCOMMAND,SC_CLOSE,0);
SC_RESTORE: SendMessage(Handle,WM_SYSCOMMAND,SC_RESTORE,0);
...
else inherited;
end;
end;
 
后退
顶部