----- Original Message ----- From: SLY To: kaev@yandex.ru Sent: Friday, July 28, 2000 7:21 PM Subject: MFCByStep Привет! Вот еще одна хитрость как обмануть Windows - перетаскивание окна за форму при нажатии на левую кнопку mouse.
Вот история такая. Я тут два дня убил на тестирование :-) Пытался понять в чем прикол. Ведь она и левой кнопкой такскается сама по себе. Поэтому я таскал правой. Вся радость в том, что окно таскается только за заголовок, а в данном примере за любое место формы :-) Будьте внимательны. Создайте AppWizard приложение и посмотрите. Схватите мышкой в середине формы. Ни куда она не потянется :-). А вот, чтобы она передвигалась надо перегрузить сорбытие нажатия левой кнопки мыши через Add Windows Message Handle и написать такой код.
void CMoveWindowDlg::OnLButtonDown(UINT nFlags, CPoint point) { CDialog::OnLButtonDown(nFlags, point); ReleaseCapture(); ::SendMessage(AfxGetApp()->m_pMainWnd->GetSafeHwnd(), WM_SYSCOMMAND, SC_MOVE | HTCAPTION, 0); }
Идея вообщем такая. Надо перенаправить сообщение передвижения мышью SC_MOVE туда кто умеет его обрабатывать HTCAPTION.
Материалы для шага прислал SLY (sly@vmz.nnov.ru).