3

我正在尝试在计时器中运行它:

Application.Minimize;
ShowWindow( Application.handle, SW_HIDE );

它一直存在于代码中,我们刚刚发现当您激活弹出菜单时它不起作用,它不会最小化 MDI 父窗口。

我想如果我可以在运行此代码之前关闭弹出菜单,那么我会没事的。问题是,这段代码在 MDI Parent 中,我不知道当前弹出菜单在哪里。它是否是另一个表单工具栏的一部分并不重要,这个表单工具栏,右键单击的产品或空格键旁边看似无意义的键。

那么,有没有办法在我的整个程序中隐藏活动的弹出菜单?

此外,如果有比我用来最小化的代码更好的代码块来规避这个问题,那也是很棒的信息。

4

1 回答 1

7

要关闭弹出菜单,您可以使用

  if GetCapture <> 0 then
    SendMessage(GetCapture, WM_CANCELMODE, 0, 0);

在您尝试最小化表单之前,在您的代码中。

于 2009-12-07T21:49:33.737 回答