代码之家  ›  专栏  ›  技术社区  ›  Peter Turner

使用实时弹出菜单最小化Delphi应用程序

  •  3
  • Peter Turner  · 技术社区  · 15 年前

    我正试图在计时器中运行:

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

    它永远都在代码中,我们刚刚发现当弹出菜单处于活动状态时,它不能工作,它不能最小化MDI父窗口。

    我想如果我能在运行这个代码之前关闭弹出菜单,那么我会没事的。问题是,此代码在MDI父级中,我不知道当前弹出菜单在哪里。不管它是另一个窗体工具栏的一部分,这个窗体工具栏,右键单击的产物,还是空格键旁边看起来毫无意义的键。

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

    另外,如果有比我用来最小化的代码更好的代码块,这将绕过这个问题,那也是一个很棒的信息。

    1 回复  |  直到 15 年前
        1
  •  7
  •   mghie    15 年前

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

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

    在您的代码中,在您尝试最小化窗体之前。

    推荐文章