WWW.ИСХОДНИКИ.РУ cpp.sources.ru
java.sources.ru web.sources.ru soft.sources.ru
jdbc.sources.ru asp.sources.ru api.sources.ru

  Форум на исходниках
  C / C++ / Visual C++
  Как "остановить" окно???

СПРОСИТЬ  ОТВЕТИТЬ
профайл | регистрация | faq

Автор Тема:   Как "остановить" окно???
basily опубликован 20-04-2001 15:51 MSK   Click Here to See the Profile for basily   Click Here to Email basily  
Есть окно со splitter'ом. В нем два CTreeView. Если их сделать с заголовком то появляется возможность их двигать, и при этом возникают проблемы с перерисовкой окна. Хотелось бы вообще запретить их передвижение, но оставить заголовок. Помогите!!!
aldep опубликован 25-04-2001 18:17 MSK     Click Here to See the Profile for aldep  Click Here to Email aldep     
Есть два способа.
1. Перехватывать сообщение WM_MOVING и изменять RECT в lParam на старое значение, это отменит передвижение.
2. Перехватить WM_NCHITTEST
И вставить такой обработчик

UINT CAboutDlg::OnNcHitTest(CPoint point)
{
UINT ret = CDialog::OnNcHitTest(point);

// если обработчик по умолчанию говорит нам что мышка
// над заголовком меняем возвращаемое
// значение на HTCLIENT - мышка над клиентской областью окна,
if (ret == HTCAPTION)
return HTCLIENT;

return ret;
}

СПРОСИТЬ  ОТВЕТИТЬ
Перейти:


E-mail | WWW.ИСХОДНИКИ.RU

Powered by: Ultimate Bulletin Board, Freeware Version 5.10a
Purchase our Licensed Version- which adds many more features!
© Infopop Corporation (formerly Madrona Park, Inc.), 1998 - 2000.