Программирование для IBM OS/2© Александр Фролов, Григорий ФроловТом 4, М.: Диалог-МИФИ, 1993, 286 стр. 2.4. Создание дочерних оконДля того чтобы создать дочернее окно, вы можете воспользоваться все той же функцией WinCreateStdWindow , которую мы вызывали для создания главного окна приложения. Однако прежде чем вызывать эту функцию, вы должны подготовить функцию дочернего окна и зарегистрировать отдельный класс окна для дочернего окна. Ниже регистрируется класс окна szWndClassChild, причем для дочернего окна будет использована функция окна с именем WndProcChild: CHAR szWndClassChild[] = "WINTREECHILD"; fRc = WinRegisterClass (hab, szWndClassChild, (PFNWP)WndProcChild, 0, 0); После того как класса дочернего окна зарегистрирован, можно создавать дочернее окно: hWndChildFrame = WinCreateStdWindow (hWndFrame, WS_VISIBLE , &flFrameChildFlags, szWndClassChild, szChildTitle, 0, 0, ID_CHILDWND, &hWndChildClient); Обратите внимание, что в качестве родительского используется окно с идентификатором hWndFrame. Кроме этого, дочернее окно имеет свой собственный идентификатор ID_CHILDWND. Для того чтобы дочернее окно было видно, следует установить его начальное расположение и размеры. Это можно сделать при помощи функции WinSetWindowPos : WinSetWindowPos (hWndChildFrame, HWND_TOP , 10, 10, 200, 200, SWP _ACTIVATE | SWP_SIZE | SWP_SHOW | SWP_MOVE ); Описанная методика создания дочерних окон была использована нами в приложении WINTREE, исходные тексты которого вы скоро увидите. |