Как из DialogProc проверить, была ли вызвана EndDialog?
От: sergmann  
Дата: 29.09.05 09:32
Оценка:
Привет всем!

Подскажите, пожалуйста, возможно ли из диалоговой процедуры узнать, был ли (из неё же) сделан вызов EndDialog?
Например:

BOOL CALLBACK MyDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
BOOL bResult;

....

if (uMsg == WM_COMMAND && LOWORD(wParam) == IDC_OK && HIWORD(wParam) == BN_CLICKED)
{
EndDialog(0);
}

....

(Возможно ли здесь определить, была ли вызвана EndDialog?)

return bResult;
}

Может возникнуть вопрос: зачем может понадобиnься такой бред. Дело в том, что у меня реализован Hook над чужой диалоговой процедурой, т.е. моя DlgProc для системы является диалоговой процедурой окна, а истинная DlgProc вызывается уже из моей, поэтому мне нужно в моей диалоговой процедуре после вызова истинной определить, завершила ли она диалог или нет?
В MSDN написано, что при вызове EndDialog устанавливается флаг, который затем проверяется системой, и в случае, если он установлен, диалог "убивается"? А можно ли его проверить самому?
Спасибо!
Serg
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.