开发组件,需要用到DragDrop及DragOver事件,但不能影响使用组件时用于OnDragDrop和OnDragOver事件,想从截取消息入手,但不知怎么截
或者大家有什么高招?

解决方案 »

  1.   

    procedure CMDrag(var Message: TCMDrag); message CM_DRAG;
    这是激发Drag方法的消息函数
    在Controls单元中的TWinControl类中定义
      

  2.   

    请问使用 TCMDrag 如何知道Target及Source?
      

  3.   

    TCMDrag = packed record
        Msg: Cardinal;
        DragMessage: TDragMessage;
        Reserved1: Byte;
        Reserved2: Word;
        DragRec: PDragRec;
        Result: Longint;
      end;
    TDragRec = record
        Pos: TPoint;
        Source: TDragObject;//source
        Target: Pointer;//Target
        Docking: Boolean;
      end;