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