我试图在计时器中运行它:
Application.Minimize;
ShowWindow( Application.handle, SW_HIDE );
它永远存在于代码中,我们发现当弹出菜单处于活动状态时它不起作用,它不会最小化MDI父窗口。
我想如果我可以在运行此代码之前关闭弹出菜单,那么我会没事的。问题是,这段代码在MDI Parent中,我不知道当前弹出菜单在哪里。如果它是另一个表单工具栏的一部分并不重要,这会形成工具栏,右键单击的产品或空格键旁边看似无意义的键。
那么,有没有办法在我的整个程序中隐藏活动的弹出菜单?
此外,如果有一个比我正在使用的代码更好的代码块来解决这个问题,那也是很棒的信息。
答案 0 :(得分:7)
要关闭弹出菜单,您可以使用
if GetCapture <> 0 then
SendMessage(GetCapture, WM_CANCELMODE, 0, 0);
在尝试最小化表单之前,在代码中。