如何获取应用程序的最小化/最大化事件

时间:2013-06-11 08:54:30

标签: c++ winapi dll event-handling adobe-indesign

我制作了一个加载InDesign的{​​{1}}插件(用C ++编写)。我已经能够调用它的方法并在我的插件中处理它的事件。

现在,我遇到了一件事 -

  

我希望在最小化/最大化InDesign应用程序并在该事件上执行某些功能时获取该事件。

我尝试使用InDesign消息,但它没有达到目的,因为我得到了一些模棱两可的结果。

我想这也可以使用DLL来完成。如果是,我想知道如何 - 任何示例代码/教程都会有所帮助。

1 个答案:

答案 0 :(得分:2)

查看WM_SIZE message

LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    switch (message)
     {
         // The code for handling other Windows messages has been omitted for clarity.
         // ...
        case WM_SIZE:
            {
                INT nWidth = LOWORD(lParam);
                HWND hEditBox = GetDlgItem(hWnd, IDC_EDIT);
                HWND hEnterButton = GetDlgItem(hWnd, IDC_BUTTON);

                MoveWindow(hEditBox, 8, 4, nWidth - 70, 20, TRUE);
                MoveWindow(hEnterButton, nWidth - 57, 4, 50, 20, TRUE);
            }
            break;
    }
}