Delphi 7 中是否有办法确定弹出菜单是否可见(显示在屏幕上),因为它缺少 Visible 属性。
Drejc
问问题
8029 次
2 回答
4
您可以通过在 OnPopup 事件中设置它来制作自己的标志。问题是知道弹出菜单何时关闭。彼得下面有一个解决方案。
但我问你为什么要这个?也许有更好的方法来解决根本问题。
于 2008-09-26T07:48:37.273 回答
2
这似乎有点简单(我使用的是 Delphi 2007):
在您的 WM_CONTEXTMENU 消息处理程序中,在调用继承的处理程序之前,即将显示弹出菜单,您可以设置您的标志。调用继承后,弹出菜单已关闭,重置您的标志。
procedure TForm1.WMContextMenu(var Message: TWMContextMenu);
begin
FPopupActive := True;
try
OutputDebugString(PChar(Format('popup opening', [])));
inherited;
finally
FPopupActive := False;
OutputDebugString(PChar(Format('popup closed', [])));
end;
end;
于 2008-09-26T12:35:38.603 回答