Для каждой страницы блокнота или органа управления Wizard вы должны подготовить структуру PROPSHEETPAGE , записав в нее описание страницы. Структура PROPSHEETPAGE определена следующим образом:
typedef struct _PROPSHEETPAGE { DWORD dwSize; // размер структуры DWORD dwFlags; // флаги HINSTANCE hInstance; // идентификатор приложения union { LPCTSTR pszTemplate; // идентификатор ресурса // диалоговой панели LPCDLGTEMPLATE pResource; // шаблон диалоговой панели }; union { HICON hIcon; // идентификатор пиктограммы LPCTSTR pszIcon; // идентификатор ресурса пиктограммы }; LPCTSTR pszTitle; // заголовок страницы DLGPROC pfnDlgProc; // адрес функции диалога LPARAM lParam; // дополнительный параметр LPFNPSPCALLBACK pfnCallback;// адрес функции обратного вызова UINT FAR * pcRefParent;// указатель на счетчик использования } PROPSHEETPAGE, FAR *LPPROPSHEETPAGE; typedef const PROPSHEETPAGE FAR *LPCPROPSHEETPAGE;
Возможно, эта структура выглядит несколько громоздко, однако ее заполнение не вызовет у вас никаких затруднений.
В поле dwSize необходимо записать размер структуры, т. е. значение sizeof(PROPSHEETPAGE).
В поле dwFlags следует записать флаги, отмечающие задействованные поля структуры и определяющие внешний вид органа управления. Здесь можно использовать следующие значения:
Флаг | Описание |
PSP_DEFAULT | Используются все поля структуры, имеющие назначение, принятое по умолчанию |
PSP_DLGINDIRECT | Поле pResource используется вместо поля pszTemplate. Этот флаг следует указать в том случае, если вы создаете шаблон диалоговой панели для страницы динамически в памяти, а не загружаете его из ресурсов приложения |
PSP_HASHELP | Если указан этот флаг, для данной страницы отображается кнопка Help |
PSP_RTLREADING | Заголовок, определенный в поле pszTitle, отображается справа налево. Используется только в арабских версиях Microsoft Windows95 |
PSP_USECALLBACK | При создании или уничтожении страницы управление получает функция обратного вызова, адрес которой определен в поле pfnCallback |
PSP_USEHICON | Поле hIcon содержит идентификатор пиктограммы уменьшенного размера, которая будет отображаться в левой части закладки страницы |
PSP_USEICONID | Поле pszIcon содержит идентификатор ресурса пиктограммы уменьшенного размера, которая будет отображаться в левой части закладки страницы |
PSP_USEREFPARENT | Используется поле pcRefParent |
PSP_USETITLE | В качестве заголовка страницы следует использовать строку, адрес которой задан в поле pszTitle, а не ту строку, что определена в шаблоне диалоговой панели |