比方我想加如下的消息,
procedure WMNChitTest(var Msg:TWMNChitTest);
  Message WM_NCHITTEST;
总不能说全要我自己写吧。不然这么多消息怎么记。
VC++中有Wizard可以用。BCB中在ClassExplorer里右键-》New Method中可以选Message Handle.可是在Delphi4~7的企业版里都没这功能,所以想问问。如果大家想写BM_CLICK等这样的WINDOWS消息,怎么写的?

解决方案 »

  1.   

    似乎没有。其实很简单,定义一个消息方法时:
    1、首先复制已经有的,比如:
    procedure WMNChitTest(var Msg:TWMNChitTest);
      Message WM_NCHITTEST;
    2、将原消息和方法名改为新的消息和方法名:
    procedure BMClick(var Msg:TWMNChitTest);
      Message BM_CLICK;
    3、修改消息类型:
    procedure BMClick(var Msg: TBMClick);
      Message BM_CLICK;
    4、试着编译,如果编译器提示TBMClick没有定义,那么将它改为TMessage即可。
    其实所有的消息类型都可以用TMessage。—————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    —————————————————————————————————
      

  2.   

    谢谢lxpbuaa(桂枝香在故国晚秋) 。
        不过我的意思是说假设我连单击按钮的消息是BM_CLICK都不知道。那我怎么办。VC里是有个消息列表,你可以自己拉下来看。可是DELPHI里没有(BCB可是有的呀。)。据说要自己找本消息大全,要用时自己翻书找。
       在放几天就结帐。^_^0
      

  3.   

    “消息列表”应该在Win32SDK中查,Delphi带了Win32SDK。输入“System-Defined Messages”可以看到所有Windows标准消息类型。—————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    —————————————————————————————————