Конференция "Компоненты" » использование TDragControlObject
 
  • Handbrake (03.12.10 16:48) [0]
    Может Кто сталкивался?

    Есть компонент


    THowToDo = class( TGraphicControl )
    published
      property Lines:TStrings...;
    end;



    На форме отрисовывается подобно THeaderControl: Вместо Sections используется Lines.

    Надо чтобы при движении мыши с нажатой  mbLeft можно было перетаскивать элементы (менять порядок их следования или перемещать между экземплярами THowToDo на форме).
    Все бы не проблема, но хочется, чтобы полупрозрачный "прообраз" перетаскиваемой секции следовал за мышью. Ок, попробовал использовать наследника TDragControlObject внутри контрола.
    Неплохо, но "прообраз".Left & "прообраз".Top равны координатам указателя мыши, что не очень красиво выглядит. Т.е секция "таскается" за левый верхний угол. Не пойму никак, как сместить его правильно, примерно как это происходит в THeaderControl.:(((
  • DimaBr © (06.12.10 08:34) [1]
    Так сдвиньте картинку, что бы таскалось как нужно. Вообще без кода говорить трудно.
  • Handbrake (06.12.10 11:01) [2]
    Спасибо!

    Сделал уже:


    ...
         R := GetRectOfItem( Dragged );

         GetCursorPos( Cp );
         Cp := ScreenToClient( Cp );

         FDragObject.GetDragImages.SetDragImage( 0, Cp.X - R.Left,  Cp.Y - R.Top );
    ...

 
Конференция "Компоненты" » использование TDragControlObject
Есть новые Нет новых   [134466   +3][b:0][p:0.001]