, , , , _______________________1033



  OnMouseDown  OnMouseUp   ,
      -  .

        , 
       ,  -
  Button  Shift.   Button , -
   : mbLeft  , mbRight  , mbMiddle  -
.  Shift   ,   -
          -
  Shift, Alt, Ctrl (   ssShift, ssAlt,
ssCtrl),   ssDouble   .    Y  -
      .  Sender 
  ,    .



1.   OnMouseDown     -
  ,     - -
  (,  - ),    -
 .         Drag-
Mode.  dmManual,     -
.   OnMouseDown   :

void   fastcali TFormI::ListBox3MouseDown(TObject *Sender,

TMouseButton Button, TShiftState Shift, int X, int Y)
(

if ((Button == mbLeft) && < - >)
((TControl*)Sender)->BeginDrag(false,5) ;

t

   if   (Button == mbLeft)  -
   ,   Shift:

if (Shift.Contains(ssLeft)) ...;

2.    ,  ,  ,  -
    ,     
    Alt,     :

if ((Button == mbLeft) && (Shift.Contains(ssAlt)))
( (TControl*)Sender)->BeginDrag(false,5) ;

OnMouseMove

       
 TControl



enum Classes_1 { ssShift, ssAlt, ssCtrl, ssLeft, ssRight,
ssMiddle, ssDouble );

typedef Set<Classes_1, ssShift, ssDouble> TShiftState;

typedef void ( closure *TMouseMoveEvent)(System;:TObject* Sender,

Classes::TShiftState Shift, int X, int Y) ;

property TMouseMoveEvent OnMouseMove



  OnMouseMove ,    -
      .