WM_INITDIALOG && PropertySheet
От: clon Россия  
Дата: 13.05.03 08:57
Оценка:
Как отловить WM_INITDIALOG в PropertySheet?
Нельзя ничего сказать о глубине лужи, пока не попадешь в нее.
Re: WM_INITDIALOG && PropertySheet
От: Odi$$ey Россия http://malgarr.blogspot.com/
Дата: 13.05.03 09:21
Оценка:
Здравствуйте, clon, Вы писали:

C>Как отловить WM_INITDIALOG в PropertySheet?


а вот так не катит?

BEGIN_MSG_MAP( CConfSheet )
   CHAIN_MSG_MAP( CPropertySheetImpl<CConfSheet> )
   MESSAGE_HANDLER( WM_SHOWWINDOW, OnShowWindow )
END_MSG_MAP()

LRESULT OnShowWindow( UINT /*uMsg*/, WPARAM wParam, LPARAM /*lParam*/, BOOL& bHandled )
{
   ATLTRACE( "CConfSheet::OnShowWindow()\n" );
   SetTitle( "Тра-ля-ля" );

   return 0;
}
Re[2]: WM_INITDIALOG && PropertySheet
От: clon Россия  
Дата: 13.05.03 09:36
Оценка:
Здравствуйте, Odi$$ey

Я сделал точно также
Это конечнео тоже выход.
Но меня в принципе интересует почему не приходит initdialog в sheet.
В MFC это сообщение же приходит
Нельзя ничего сказать о глубине лужи, пока не попадешь в нее.
Re: WM_INITDIALOG && PropertySheet
От: basilyo  
Дата: 14.05.03 09:54
Оценка:
Здравствуйте, clon, Вы писали:

C>Как отловить WM_INITDIALOG в PropertySheet?


а такой вариант не подойдет:
ловить WM_INITDIALOG в первом PropertyPage и кидать его паренту этот же мессаг (или свой "новый мессаг"). Тогда "новый мессаг" отловится в классе PropertySheeta

// Page
#define WM_INIT WM_USER+1

BEGIN_MSG_MAP(CPage)
MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
END_MSG_MAP()

LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
::SendMessage (GetParent(), WM_INIT, 0, 0);
return 0;
}

// Sheet

BEGIN_MSG_MAP(CSheet)
MESSAGE_HANDLER(WM_Init, OnInit)
END_MSG_MAP()

LRESULT OnInit(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
...
return 0;
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.