Вниз
Скачать: CL | DM;

Перетаскивание формы!   Найти похожие ветки 

← →
Ladan   (2006-05-27 01:07) [0]

Доброго времени суток!  Помогите решить проблему!
Как сделать так что бы нажав на картинку и удерживая кнопку мыши можно было перетаскивать всю форму? Если таковое возможно. Заранее спасибо!


← →
Rial ©   (2006-05-27 01:14) [1]

1. Кидаешь на формы рисунок.
2. Переменные глобальные:
Var Flag:Boolean;
   BX,BY:Integer;

В событиях рисунка пишешь:

MouseDown:

begin
F:=True;
BX:=X;
BY:=Y;
end;

MouseUp:
begin
F:=False;
end;

MouseMove:
begin
If (F) then begin
  Left:=Left+X-BX;
  Top:=Top+Y-BY;
end;
end;


← →
Джо ©   (2006-05-27 01:17) [2]

implementation

{$R *.dfm}

var
 PrevPoint: TPoint;
 Moving: Boolean;

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
 PrevPoint := Mouse.CursorPos;
 Moving := True;
end;

procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
 Moving := False
end;

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
 Y: Integer);
begin
 if Moving then
 begin
   SetBounds(
     Left + (Mouse.CursorPos.X - PrevPoint.X),
     Top + (Mouse.CursorPos.Y - PrevPoint.Y),
     Width,
     Height
   );
   PrevPoint := Mouse.CursorPos;
 end
end;


← →
Loginov Dmitry ©   (2006-05-27 09:17) [3]

Не пойму, зачем нужна лишняя процедура OnMouseUp и какой-то флаг. Ведь в OnMouseMove всегда можно воспользоваться переменной Shift.


← →
TUser ©   (2006-05-27 09:55) [4]

Поймать WM_NCHITTEST и выставить там флажок htCaption. Подробности в справку и яндексе.


← →
Ladan   (2006-05-27 15:52) [5]

Спасибо! Очень помогли!!!


← →
unknown ©   (2006-05-27 21:33) [6]


> Ladan   (27.05.06 01:07)


procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: integer);
begin
 ReleaseCapture;
 Perform(WM_SYSCOMMAND, $F012, 0);
end;



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.028 c
15-1147887846
Nous Mellon_
2006-05-17 21:44
2006.06.11
Если бы этого не было, это надо было бы придумать


15-1147861589
ANB
2006-05-17 14:26
2006.06.11
Посоветуйте надежную библиотеку для шифрования


2-1148297951
Николай Владимирович
2006-05-22 15:39
2006.06.11
=> Странная штука с TreeView, не проходи мимо


15-1147976042
Seldon
2006-05-18 22:14
2006.06.11
плагин к XChat


2-1148360221
Leshasy
2006-05-23 08:57
2006.06.11
Прокрутить полосу прокрутки StringGris вниз




   Наверх