TForm i TApplication |
12.08.1999 |
- Przechwytywanie operacji przeciągania formy.
Trzeba przechwycić komunikat WM_SYSCOMMAND. Podczas przeciągania wParam ustawiony jest na 0xf012 (61458) tzn. SC_MOVE + HTCAPTION.
//------------------------------------------------------
//w pliku nagłówkowym
void __fastcall CatchDrag(TMessage &Msg);
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(WM_SYSCOMMAND, TMessage, CatchDrag);
END_MESSAGE_MAP(TForm)
//------------------------------------------------------
//w pliku źródłowym
void __fastcall TForm1::CatchDrag(TMessage &Msg)
{
TForm::Dispatch(&Msg);
if (Msg.WParam == SC_MOVE + HTCAPTION)
{
int Previous_MouseX_Position = LOWORD(Msg.LParam);
int Previous_MouseY_Position = HIWORD(Msg.LParam);
//tutaj wpisz co chcesz...
}
}
|