zoukankan      html  css  js  c++  java
  • delphi 使用自定义HANDLE处理消息

    unit UCallHwnd;
    
    interface
    
    uses
      Classes, Messages, Windows;
    
    const
      WM_USER_MSG = WM_USER + 1;
    
    type
      TCallHwnd = class(TObject)
      private
        FHwnd: THandle;
      protected
        procedure DoUserMessage(var AMsg: TMessage);
      public
        constructor Create;
        destructor Destroy; override;
        //调用测试
        function CallHwndTest: Boolean;
      end;
    
    implementation
    
    { TCallHwnd }
    
    function TCallHwnd.CallHwndTest: Boolean;
    begin
      Result := PostMessage(FHwnd, WM_USER_MSG, 1, 2)
    end;
    
    constructor TCallHwnd.Create;
    begin
      FHwnd := AllocateHWnd(DoUserMessage);
    end;
    
    destructor TCallHwnd.Destroy;
    begin
      DeallocateHWnd(FHwnd);
      inherited;
    end;
    
    procedure TCallHwnd.DoUserMessage(var AMsg: TMessage);
    begin
      if AMsg.Msg = WM_USER_MSG then
      begin
        //AMsg.LParam 2
        //AMsg.WParam 1
        //do something
      end
      else
        AMsg.Result := DefWindowProc(FHwnd, AMsg.Msg, AMsg.WPARAM, AMsg.LPARAM);
    end;
    
    end.
    

      

  • 相关阅读:
    最终作业
    第十二次作业
    Beta 冲刺(7/7)
    Beta 冲刺(6/7)
    Beta 冲刺(5/7)
    Beta 冲刺(4/7)
    Beta 冲刺(3/7)
    Beta 冲刺(2/7)
    Beta 冲刺(1/7)
    福大软工 · 第十次作业
  • 原文地址:https://www.cnblogs.com/btxz/p/6103582.html
Copyright © 2011-2022 走看看