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++
  Магические WS_TOOLWINDOW ???

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

Автор Тема:   Магические WS_TOOLWINDOW ???
Mr_Diya опубликован 02-07-2001 05:13 MSK   Click Here to See the Profile for Mr_Diya   Click Here to Email Mr_Diya  
Во многих приложениях (в MS Word, ВС++5.хх, например), когда "срываешь" Dock-утую toolbar, она превращается в дочернее окно, как правило, WS_TOOLWINDOW. При перетаскивани этого окна по экрану, его родительское окно остается активным (заголовок подсвечен), и у некоторых даже в Edit-ах курсор продолжает мигать. Для меня это загадка. Объясните, пожалуйста, кто знает, как это реализовано через API?. Спасибо.
OlegO опубликован 03-07-2001 18:57 MSK     Click Here to See the Profile for OlegO  Click Here to Email OlegO     
Советую залезть в исходники MFC и посмотреть :).
А именно в Barcore.cpp объект ControlBar
вот как он обрабатывает одно из сообщений

int CControlBar::OnMouseActivate(CWnd* pDesktopWnd, UINT nHitTest, UINT nMsg)
{
// call default when toolbar is not floating
if (!IsFloating())
return CWnd::OnMouseActivate(pDesktopWnd, nHitTest, nMsg);

// special behavior when floating
ActivateTopParent();

return MA_NOACTIVATE; // activation already done
}

и т.д.

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


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.