Jak zmieniać rozmiar i położenie komponentu za pomocą myszki
Na wstępie napisze, że ta metoda działa tylko na te komponenty, które posiadają uchwyt, czyli pochodzą od TWinControl (uchwytu nie posiadają np: TImage, TShape, TLabel, a posiadą go np: TButton, TListBox, i wiele innych);
W OnMouseDown danego komponentu/formy piszemy:
if Button = mbleft then
begin //jeśli wciśnięty jest lewy przycisk myszy
ReleaseCapture;
TControl(Sender).Perform(WM_SysCommand, Dzialanie ,0);
end;
Dostępne Działania:
SC_SIZE + 1 - zmiana szerokości w lewo;
SC_SIZE + 2 - zmiana szerokości w prawo;
SC_SIZE + 3 - zmiana wysokości w górę;
SC_SIZE + 4 - zmiana rozmiaru w lewo w górę;
SC_SIZE + 5 - zmiana rozmiaru w prawo w górę;
SC_SIZE + 6 - zmiana wysokości w dół;
SC_SIZE + 7 - zmiana rozmiaru w lewo w dół;
SC_SIZE + 8 - zmiana rozmiaru w prawo w dół;
SC_SIZE + 9 - przenoszenie komponentu/formy;
SC_SIZE + 32 - minimalizacja komponentu :)
//Zamiast 'Dzialanie' wpisujemy np: SC_SIZE + 9
dobrze, że dałeś, ale równie dobrze byłoby, gdybyś napisał skąd korzystałeś...
Dzięki bardzo bardzo mi sie to przyda :) thx
nie wiem, możliwe, ja tą wskazówke wziąłem z innego źródła :) źle że dałem tą wskazówke ?... jeśli nie można by dawać tu tego co jest w tej ksiązce Adama to prawie nic by tu nie było :P
wydaje mi sie że ten temat był poruszy w książce
Adama Delphi6. Kompendium...
Szukałem tego i nie umiałem znaleść...
Dobrze że to się tu znalazło :)