Blokowanie przenoszenia formularza
Blokowanie przenoszenia formularza polega na uniemożliwieniu użytkownikowi zmiany jego położenia.
I sposób:
Po prostu usuwamy z menu systemowego formularza pozycję "Przesuń" co zablokuje możliwość zmiany jego położenia:
Unit1.cpp |
void __fastcall TForm1::Button1Click(TObject *Sender) |
II sposób:
Przechwycimy komunikat WM_NCHITTEST (wysyłany do formularza, gdy wskaźnik myszy zmienia swoje położenie, albo gdy zostanie wciśnięty lub puszczony przycisk myszy) i w funkcji obsługującej go sprawdzimy, czy użytkownik kliknął na pasku tytułu formularza, a jeśli tak to "oszukamy" formularz i przekażemy mu, że użytkownik jednak kliknął w obszarze formularza, a nie na pasku tytułu. Tworzymy więc w pliku nagłówkowym formularza deklarację funkcji obsługującej komunikat i mapę komunikatu:
Unit1.h |
public: BEGIN_MESSAGE_MAP |
a w pliku formularza piszemy funkcję obsługującą komunikat:
Unit1.cpp |
void __fastcall TForm1::DontMoveIt(TMessage &Msg) |