⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wmconst.pas

📁 支持库类 / 模块控件 / 支持库类 eLIB++支持库 源代码 Delphi
💻 PAS
字号:
unit WMConst;

interface
 uses
{$IFDEF __DEBUG}
 Windows,
 Messages;
{$ELSE}
 Messages;
{$ENDIF}


type
  //记录窗口消息(WM_??)常量
  WMConstsInf=record
    Name:         PChar;
    EGName:       PChar;
    Val:          Double;
    Explain:      PChar;
  end;

const
  WMConstCount=20;
var
  WMConstsAry:Array[0..WMConstCount-1] of WMConstsInf;
  procedure InitWMConsts();

implementation

procedure InitWMConsts();
var
  i:integer;
begin
  for i:=0 to High(WMConstsAry) do case i+1 of
    1://第一个消息常量
      with WMConstsAry[i]do
      begin
        EGName:='WM_CLOSE';
        Name:='窗口_关闭';
        Explain:='当一个窗口将被关闭时,产生这个消息。如果该消息得到了处理,其返回值为0。这个消息没有任何参数。 '+
                  '如果截获到了该消息,并在相应的消息处理子程序中返回“真”,这个窗口就会被销毁。';
        Val:=16;
      end;

    2://第2个消息常量
      with WMConstsAry[i]do
      begin
        EGName:='WM_DESTROY';
        Name:='窗口_销毁';
        Val:=2;
        Explain:='当一个窗口正在被销毁时,产生这个消息。如果该消息得到了处理,其返回值为0。这个消息没有任何参数。 '+
                  '这个消息首先发送到正在销毁的窗口,然后发送到它的所有子窗口。在处理这个消息时,可以认为它的所有子窗口仍然存在。';
      end;
    3://第3个消息常量
      with WMConstsAry[i]do
      begin
        EGName:='WM_MOVE';
        Name:='窗口_位置改变';
        Val:=3;
        Explain:='一个窗口的位置发生改变后,产生这个消息。如果该消息得到了处理,其返回值为0。 这个消息只用到参数2,其中参数2的低16位(低字)和高16位(高字)分别表示窗口客户区左上角的X和Y坐标。';
      end;
    4://第4个消息常量
      with WMConstsAry[i]do
      begin
          EGName:='WM_MOVING';
          Name:='窗口_正在移动';
          Explain:='当用户正在移动窗口时,产生该消息。如果该消息得到了处理,其返回值为非零的整数。 '+
                  '该消息使用了两个参数,其中参数1表示窗口的那个部位被移动了。参数2是一个“矩形”(一个自定义数据类型,有4个整数型成员,分别代表矩形的左上角的X、Y坐标和右下角的X、Y坐标)类型容器的地址,表示窗口的“拖动矩形”。';
          Val:=534;
      end;

    5://第5个消息常量
      with WMConstsAry[i]do
      begin
        EGName:='WM_SYSCOMMAND';
        Name:='窗口_系统命令';
        Val:=274;
        Explain:='当用户选择了窗口的“控制菜单”中的某个命令,或单击了最大化、最小化、恢复、关闭按钮中的一个时,产生该消息。如果该消息得到了处理,其返回值为0。 '+
                  '该消息使用了两个参数,其中参数1的低16位(低字)表示命令的类型。如果是用鼠标选择的命令,那么参数2大于0, 它的低16位(低字)、高16位(高字)分别表示当前鼠标指针的X和Y坐标(屏幕坐标,非窗口坐标)。';
      end;
    6://第6个消息常量
      with WMConstsAry[i]do
      begin
        EGName:='WM_QUERYOPEN';
        Name:='窗口_恢复大小';
        Val:=19;
        Explain:='当用户恢复一个最小化窗口到它原来的大小时,产生这个消息。这个消息没有任何参数。'+
                  '可以在对应的消息处理子程序中返回假,来阻止这个窗口从最小化恢复。';
      end;
    7://第7个消息常量
      with WMConstsAry[i]do
      begin
        EGName:='WM_NCLBUTTONDOWN';
        Name:='窗口_非客户区左键按下';
        Val:=161;
        Explain:='当用户在非客户区(比如标题栏,窗口边框等易语言自身的“窗口_鼠标左键被按下”事件无法检测到的地方)按下鼠标左键时,产生该消息。如果该消息得到了处理,其返回值为0。 这个消息有两个参数。'+
                  '其中参数1表示鼠标左键在窗口的什么位置按下。其中参数2的低16位(低字)和高16位(高字)分别代表该消息发生时鼠标指针在屏幕上的X和Y坐标。';
      end;
    8://第8个消息常量
      with WMConstsAry[i]do
      begin
        EGName:='WM_HOTKEY';
        Name:='窗口_热键';
        Val:=WM_HOTKEY;
        Explain:='当用户按下由“注册热键”命令注册的热键时,该消息被投递(post)到“注册热键”命令第一个参数所指定的窗口。 这个消息有两个参数。'+
                  '其中参数1代表“热键号”,即该热键的唯一标识,由“注册热键”命令返回。其中参数2的低16位(低字)和高16位(高字)分别代表“功能键”和“其他键”。详见“注册热键”命令的参数说明。';
      end;
    9://第9个消息常量
      with WMConstsAry[i]do
      begin
        EGName:='WM_DRAWCLIPBOARD';
        Name:='窗口_剪辑板内容已改变';
        Val:=WM_DRAWCLIPBOARD;
        Explain:='';
      end;
      //在此添加其他窗口常量的信息
    else//保留消息
      with WMConstsAry[i]do
      begin
        EGName:='Reserved...';
        Name:='*保留未用*';
        Val:=0;
        Explain:='保留,暂未使用';
      end;
      //
  end;//For and Case
end;//InitWMConst();

initialization
  initWMConsts;
end.
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -