Jak przesuwać formę chwytając za jakiś komponent
Jeżeli chcemy, aby jakiś komponent (np. TImage - jeśli robimy swój pasek tytułowy) służył do przesuwania formy, to w <B>OnMouseDown</B> tego komponentu dajemy:
If Button = mbLeft then
begin
//będziemy mogli przesuwać formę tylko lewym przyciskiem myszki, bo prawym to chyba troche głupio ;)
ReleaseCapture;
SendMessage(Handle, WM_NCLBUTTONDOWN, HTCAPTION, 0);
end;
Możemy ten kodzik dać także do OnMouseUp wtedy gdy klikniemy na tym komponencie to forma 'przyklei' się do kursora myszki, a po ponownym kliknięciu 'odklei' się.
unit1.pas(127,17) Error: Identifier not found "ReleaseCapture"
unit1.pas(128,14) Error: Identifier not found "SendMessage"
unit1.pas(128,39) Error: Identifier not found "WM_NCLBUTTONDOWN"
unit1.pas(128,50) Error: Identifier not found "HTCAPTION"
unit1.pas(142) Fatal: There were 4 errors compiling module, stopping
Dziwne. A mnie to nie działa. :O
Przydatna wskazówka!
THX!
przydaje się... dobra wskazówka :)
Jak to niektórym mało do szczęścia potrzeba :d
Super trik ;) - Jak dla mnie bomba.
Ja używam czegoś takiego
if button = mbleft then
begin
releasecapture;
TWincontrol(Label11.Parent).perform(WM_syscommand, $F012, 0);
end;