В моем родном приложении для Windows Mobile у меня есть окно, которое создает диалог. Допустим, мой дескриптор окна hMainWnd
.
Я создаю диалог, используя DialogBoxParam()
и передавая hMainWnd
в качестве родителя диалога:
DialogBoxParam(_,_,hMainWnd,_,_);
Допустим, дескриптор диалога - hDlgWnd
. В диалоговом окне GetParent()
возвращает hMainWnd
, как и ожидалось:
//We're inside the dialog created above
HWND hParent = GetParent(hDlgWnd); //hParent == hMainWnd
Вот странная вещь: звонить GetWindow()
, чтобы найти детей hMainWnd
, возвращает NULL
, означая, что у него нет детей. Я ожидаю, что функция вернет hDlgWnd
//We're inside the main window
HWND hChild = GetWindow(hMainWnd, GW_CHILD); //hChild == NULL
Как ребенок может знать своего родителя, если родитель не знает своего ребенка?