OnDblClick a OnMouseDown/Up... problem z przesuwaniem...

0

czesc
sluchajcie, ma mtaki.. no w sumie prosty problem, ale nie wiem jak sobie z tym poradzic....

otoz jest sobie panel, ktory ma przypisany onmousedown,move i up. potrzebne to jest do jego przesuwania. onmousedown ustawia zmienna globalna moving na true itd.. znacie ta metode...
w onDblClick jest Form2.ShowModal;
problem polega na tym, ze jesli klikne dwa razy na panel to pokazuje sie forma ale gdy znika to panel mysli ze powinien sie przesuwac bo moving jest ustawione na true.
niestety dodanie do OnDblClick: moving:=False; nic nie daje...

jak to sie wlasciwie maja do siebie te zdarzenia? w jakiej kolejnosci sa wykonywane?

pozdrawiam

0

zakładając, że do przesuwania formy kod wygląda tak:
Jak przesuwać formę jeżeli BorderStyle bsNone

zrobiłem w ten sposób:

var 
  z : Boolean;
..

procedure TForm1.FormDblClick(Sender: TObject);
begin
Form2.ShowModal;
z := True;
end;

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  if z = false then
    MD := True
  else
    z := False;
  P :=  Point(X, Y);
end;

reszta bez zmian ;)

0

no tez o tym myslalem ale nie ma jakiegos innego sposobu?

0

jest ... daj warunek:

if ssLeft in Shift then

w MouseMove aby sprawdzać czy jest wciśnięty przycisk, wtedy nie potrzebujesz tych zmiennych typu boolean w ogóle

0
Arthan napisał(a)

jest ... daj warunek:

if ssLeft in Shift then

w MouseMove aby sprawdzać czy jest wciśnięty przycisk, wtedy nie potrzebujesz tych zmiennych typu boolean w ogóle

[glowa] to takie proste....

dzieki [browar] ;]

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