Аналог DYNAMIC_DOWNCAST в WTL
От: Аноним  
Дата: 28.07.09 18:53
Оценка:
Как правильно сделать приведение к классу через хендл окна, аналогично MFC???

CMyCtrl* pMyCtrl = DYNAMIC_DOWNCAST(CMyCtrl, GetParent());
Re: Аналог DYNAMIC_DOWNCAST в WTL
От: _dimidrol_ Украина http://dimontest.narod.ru
Дата: 28.07.09 21:00
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Как правильно сделать приведение к классу через хендл окна, аналогично MFC???


А>CMyCtrl* pMyCtrl = DYNAMIC_DOWNCAST(CMyCtrl, GetParent());



CWnd wnd;
wnd.Attach( m_hWnd );

// ....
wnd.MessageBox("123");

wnd.Detach();
Re[2]: Аналог DYNAMIC_DOWNCAST в WTL
От: _dimidrol_ Украина http://dimontest.narod.ru
Дата: 28.07.09 21:09
Оценка:
WTL версия:

CWindow wnd;
wnd.Attach( m_hWnd );

// ....
wnd.MessageBox("123");

wnd.Detach();
Re: Аналог DYNAMIC_DOWNCAST в WTL
От: byleas  
Дата: 29.07.09 08:23
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Как правильно сделать приведение к классу через хендл окна, аналогично MFC???

Если контрол простой (унаследован от CWindow или его производных и не имеет собственных членов-данных), то достаточно "CMyCtrl ctl = GetParent();"

В противном случае нужно получать указатель/ссылку другими методами (получать/хранить указатель именно на CMyCtrl), т.к. в WTL контролы — это просто обёртки над HWND.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.