拦截wm_mousemove
wm_lbuttondown,wm_rbuttondown,消息
定义一个方法,再每一个方法中执行以上的过程

解决方案 »

  1.   

     to baxp大虾: 不好意思,我是新手,能否说详细一点,可否在类型库中添加OnMouseMove事件,以便在Object Inspector中显示??
      

  2.   

     to baxp大虾: 不好意思,我是新手,能否说详细一点,可否在类型库中添加OnMouseMove事件,以便在Object Inspector中显示??
      

  3.   

    在label的mousemove事件中postmessage 自定义的wm_usemessage
    procedure wmMouseMove(var msg:tmessage);message wm_usemessage;
      

  4.   

    在label的mousemove事件中postmessage 自定义的wm_usemessage
    procedure wmMouseMove(var msg:tmessage);message wm_usemessage;
      

  5.   

        to baxp大虾: 加分!你的意思我不太懂,在封装过程中关于事件我有很多迷惑的地方,比如在处理Label的OnClick事件时就很好处理,只需要在其实现文件中的Create过程中加入: Label1.OnClick := ClickEvent就可以了,而OnMouseMove事件没有,需要在类型库中添加,但是类型库中没有TShift(后面还有,不记得了)类型,如果象你说的那样postmessage自定义的消息之后,使用该ActiveX控件的用户怎样使用这个事件呢???
        比如如何使该ActiveX控件如同Label控件一样会在Object Inspector中显示OnMouseMove事件????
        对不起,如果我的问题很傻,请耐心一点,非常感谢!!!
      

  6.   

    控件加入事件的具体方法
     1。private 
         fonclick : tmousemoveevent(或者是其他类型)
    //TMouseMoveEvent = procedure(Sender: TObject; Shift: TShiftState; 
    //X, Y: Integer) of object;
        procedure move;dynamic;
       property onmove:tmousemoveevent read fonclick write fonclick;   procedure tcontrol.click;
        begin
           if assigned(fonclick) then fonclick(self);
        end;
    就这些了
      

  7.   

    大侠:这是一般控件的事件添加方法吧!我说的是用ActiveForm做的控件!!!?????
    看Delphi的AxCtrls单元时,发现ActiveForm有Mouse事件,但是Object Inspector上没有显示,为什么???
    而且在ActiveForm中添加事件时,是在类型库中添加的,上面这段程序???
    不好意思,讨论一下,好吗??