내 모달 대화 상자의 바탕 화면을 부모 HWND로 가져 오는 이유는 무엇입니까?모달 대화 상자에서 잘못된 부모 HWND
class CSaveProfileAsDlg:
public CSimpleDialog<IDD_DLG_RESOURCE>
{
....
LRESULT OnInitDialog(UINT, WPARAM, LPARAM, BOOL&)
{
...
HWND parent = GetParent(); // or GetAncestor(m_hWnd, GA_PARENT);
assert(parent != GetDesktopWindow()); // not ok
...
}
....
}
//somewhere in code
//m_hWnd is some valid HWND
assert(m_hWnd != GetDesktopWindow()); //ok
CSaveProfileAsDlg dlg;
dlg.DoModal(m_hWnd /*as a parent wnd*/);
나는 CSaveProfileAsDlg
의 ctor에서 corret HWND를 통과하여 "해결"할 수 있지만, 내가 올바른 해결책을 가지고 싶습니다.
감사합니다.
당신이'어설하지;'(부모 = 0!)? – RbMm
프로덕션 코드에서이 예제에서 제거했습니다. ''부모님''나는 유효한 HWND입니다. – fogbit
당신은 그것을 확신합니다! = 0? – RbMm