Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.01.23;
Скачать: CL | DM;

Вниз

И снова Drag&Drop   Найти похожие ветки 

 
cerber1 ©   (2004-11-29 23:45) [0]

Я понимаю что может уже тривиально, но как с помощью Drag&Drop перетаскивать Tshape по Tform?. Просьба предоставить рабочий(проверенный) код


 
easy ©   (2004-11-30 00:04) [1]

var
 downX,downY:integer;

procedure TForm1.Shape1MouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
 downX:= X;
 downY:= Y;
end;

procedure TForm1.Shape1MouseMove(Sender: TObject; Shift: TShiftState; X,
 Y: Integer);
begin
if (ssLeft in Shift) then
 with Shape1 do begin
   Left := X-downX+Left;
   Top := Y-downY+Top;
 end;
end;


 
VMcL ©   (2004-11-30 07:24) [2]

>>easy ©  (30.11.04 00:04) [1]

Только downX и downY лучше, наверное, объявить как поле класса TForm1.


 
cerber1 ©   (2004-11-30 22:38) [3]

Я наверно не совсем жирными написал:
с помощью Drag&Drop
ибо предложенный способ мною уже давно реализован.


 
cerber1 ©   (2004-11-30 22:41) [4]

И в догонку:
почему у объектов класса Tshape нет хендла?


 
Style ©   (2004-11-30 23:15) [5]

Установи Shape1.DragMode := dmAutomatic;
и добавь на форму следующий код.

procedure TForm1.FormDragOver(Sender, Source: TObject; X, Y: Integer;
 State: TDragState; var Accept: Boolean);
begin
Accept := true;
end;

procedure TForm1.FormDragDrop(Sender, Source: TObject; X, Y: Integer);
begin
 Shape1.Left := x;
 Shape1.Top := y;
end;


> И в догонку:
> почему у объектов класса Tshape нет хендла?

потому что это не TWinControl!


 
easy ©   (2004-12-01 00:31) [6]


> [3]

тык вам шашечки или ехать?..



Страницы: 1 вся ветка

Текущий архив: 2005.01.23;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.045 c
3-1103369410
UVV
2004-12-18 14:30
2005.01.23
Сравнение времени


3-1103556377
TAN_K
2004-12-20 18:26
2005.01.23
DataTimePicker


1-1105377770
Ivan Pashkov
2005-01-10 20:22
2005.01.23
Есть у кого dcc32.exe для Delphi 2005?


1-1105442099
Meneee
2005-01-11 14:14
2005.01.23
Excel


11-1087380910
Nert
2004-06-16 14:15
2005.01.23
KOLMHLameCoder как пользоваться?