4

我有一个 MDI 应用程序和一个窗口过程来处理 formChild 的消息。在这种情况下,捕获 WM_SYSCOMMAND 消息以显示文本。当表单最小化时,显示一条消息。

一切正常,...但是

问题是当子窗体最大化然后我尝试最小化窗体时,WM_SYSCOMMAND 不起作用,ShowMessage不显示。

在这种情况下我能捕捉到什么信息?

//TCHild Form Child

function MDIChildProc(hwnd: HWND; uMsg: UINT; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
var
  F: TChild;
begin
  F := TChild(FindControl(hwnd));
  begin
    case uMsg of
      WM_SYSCOMMAND:
      begin
        case wParam and $FFF0 of
          SC_MINIMIZE:
          begin
            {First Minimize then show text} 
            CallWindowProc(Pointer(F.Tag), hwnd, uMsg, wParam, lParam);  
            ShowMessage('form minimized');
          end;
        end;
      end;
    end;
    Result := CallWindowProc(Pointer(F.Tag), hwnd, uMsg, wParam, lParam);
  end;
end;
4

0 回答 0