Posuwanie formy ;-)

0

Witam!

Oto kolejny problem z cyklu "jak to zrobic"! Jak suwac forme? Tzn. border = none (formy), na gorze jakis panelik(jako pasek tytulu) ze speed buttonem (do zamykania). Po przytrzymaniu panelu (czy obrazka, cokolwiek) forme daloby sie przesuwac (jak za pomoca paska tytulu). Jak to zrobic? Probowalem juz ondragging, onstartdragging (pisze z pamieci, wiec moglem cos porabac). Any idea??? [cya]

0

procedure TForm1.Panel2MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
MD := True;
P := Point(X, Y);
end;

procedure TForm1.Panel2MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if MD then
begin
Left := Left + (X - P.X);
form2.left := form2.left + (X - P.X);
form2.Top := form2.top + (Y - P.Y);
Top := Top + (Y - P.Y);
end;
end;

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

0

A może tak:

procedure TMain_FORM.Panel1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
ReleaseCapture;
Main_Form.perform(WM_syscommand, $F012, 0);
end;

0

buras ma rację a -T-H-C- blefuje...
tak tak thc.. o to chodziło.. ten kod który zapodałeś, co prawda działa.. ale porównaj sobie go z

ReleaseCapture;
form1.perform(WM_syscommand, $F012, 0);

0

ehkm no niefiem
ale nie chce mi sie dlphi wlaczyc
bycmoze burasa jest lepshy tego niefiem ale i moj dziala [hurra] a jaka jest roznica niefiem [browar]

0

buras ma rację a -T-H-C- blefuje...
tak tak thc.. o to chodziło.. ten kod który zapodałeś, co prawda działa.. ale porównaj sobie go z

ReleaseCapture;
form1.perform(WM_syscommand, $F012, 0);

Za to w drugim przykładzie nie da się dorobić klejenia się formy do krawędzi ekranu, ani ustawić np. poriszania się tylko w jednej płaszczyźnie, albo innych bajerów, za to w pierwszym przykładzie jak najbardziej można :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1