小编Man*_*Paz的帖子

如何处理创建的mdi孩子?

Thansk!我希望使用WM_MDICREATE消息在clientWndProc中获取mdi子句的句柄

procedure TFrmMain.ClientWndProc(var Message: TMessage);
var
Hwnd : HWND;
procedure Default;
begin
 with Message do
  Result := CallWindowProc(FClientWndProc, ClientHandle, Msg, wParam, lParam);
end;

begin
case Message.Msg of
  WM_MDICREATE:
   begin
    hwnd := Message.LParam; //dont' work
    hwnd := TWMMDICreate(Message).MDICreateStruct^.lparam; //don't work
   Default;
   end;

  end;

  inherited ClientWndProc(Message);
  end;
Run Code Online (Sandbox Code Playgroud)

我想在启动MDICHILD时将下一个程序(ChildProc)绑定到MainForm的ClientWndProc过程中

    function childProc(hwnd: HWND;  msg, wParam,lParam: LongInt): LongInt; stdcall;
    begin
     if msg = WM_SYSCOMMAND then
      begin
       CallWindowProc(p,hwnd,msg,wparam,lparam);
        if WParam = SC_MINIMIZE then
          //do something
       end;

    result := CallWindowProc(p,hwnd,msg,wparam,lparam);

    end;
Run Code Online (Sandbox Code Playgroud)

我需要新的chid形式的句柄,像那样的东西

        P := Pointer(SetWindowLong(ActiveMDIChild.Handle, GWL_WNDPROC, integer(@Child)));
Run Code Online (Sandbox Code Playgroud)

windows delphi winapi

0
推荐指数
1
解决办法
794
查看次数

标签 统计

delphi ×1

winapi ×1

windows ×1