Структура COMPROPSHEETUI (compstui.h)

Структура COMPROPSHEETUI используется в качестве входного параметра для функции ComPropSheet CPSUI, если код функции CPSFUNC_ADD_PCOMPROPSHEETUI. Все элементы структуры должны быть предоставлены вызывающим элементом ComPropSheet.

Синтаксис

typedef struct _COMPROPSHEETUI {
  WORD           cbSize;
  WORD           Flags;
  HINSTANCE      hInstCaller;
  LPTSTR         pCallerName;
  ULONG_PTR      UserData;
  LPTSTR         pHelpFile;
  _CPSUICALLBACK pfnCallBack;
  POPTITEM       pOptItem;
  PDLGPAGE       pDlgPage;
  WORD           cOptItem;
  WORD           cDlgPage;
  ULONG_PTR      IconID;
  LPTSTR         pOptItemName;
  WORD           CallerVersion;
  WORD           OptItemVersion;
  ULONG_PTR      dwReserved[4];
} COMPROPSHEETUI, *PCOMPROPSHEETUI;

Члены

cbSize

Размер структуры COMPROPSHEETUI , предоставленный вызывающим абонентом, в байтах.

Flags

Необязательные битовые флаги, предоставляемые вызывающим абонентом, как описано в следующем списке:

CPSUIF_ABOUT_CALLBACK

Если этот параметр задан, функция обратного вызова страницы (на которую указывает элемент структуры pfnCallback ) поддерживает CPSUICB_REASON_ABOUT, поэтому CPSUI вызовет функцию обратного вызова, если пользователь нажимает кнопку "О программе ". (CPSUI предоставляет кнопку О программе для каждого корневого узла представления дерева.)

CPSUIF_ICONID_AS_HICON

Если этот параметр задан, элемент IconID структуры содержит дескриптор значка.

Если значение не задано, элемент IconID содержит идентификатор ресурса значка.

CPSUIF_UPDATE_PERMISSION

Если задано значение , значения параметров страницы могут быть изменены пользователем.

hInstCaller

Дескриптор экземпляра модуля, предоставленный вызывающим абонентом, полученный функцией точки входа библиотеки DLL.

pCallerName

Предоставленный вызывающим элементом указатель на текстовую строку, завершающуюся значением NULL, представляющую имя приложения. (Для библиотеки DLL интерфейса принтера это должно быть имя драйвера, например "Драйвер PostScript".)

UserData

Необязательное значение, предоставленное вызывающим, которое CPSUI помещает в элемент UserData структуры CPSUICBPARAM при вызове функции, на которую указывает pfnCallBack.

pHelpFile

Предоставленный вызывающим элементом указатель на текстовую строку, завершающуюся значением NULL, представляющую путь к файлу справки. Для библиотек DLL интерфейса принтера обычно это путь к файлу справки, полученный путем вызова GetPrinterDriver.

Файл справки индексируется по значениям, содержащимся в элементе HelpIndex структур OPTITEM .

pfnCallBack

Предоставленный вызывающим абонентом указатель на _CPSUICALLBACK типизированной функции обратного вызова, которая вызывается CPSUI, когда пользователь изменяет значения параметров страницы.

Может использоваться только в том случае, если pDlgPage определяет предоставленную CPSUI структуру DLGPAGE или если элемент DlgProc предоставленной приложением структуры DLGPAGE имеет значение NULL.

pOptItem

Предоставленный вызывающим элементом указатель на массив структур OPTITEM , описывающих параметры страницы.

pDlgPage

Этот элемент задает структуры DLGPAGE , описывающие страницы, добавляемые на страницу свойств. Может быть:

  • Указатель на массив структур DLGPAGE.

  • Один из указателей, описанных в следующем списке. Эти указатели ссылаются на предопределенные структуры DLGPAGE, предоставляемые CPSUI для использования библиотеками DLL интерфейса принтера.

    • CPSUI_PDLGPAGE_ADVDOCPROP

      Определяет одну страницу представления в виде дерева, вкладка которой содержит значение Дополнительно. Используется только функцией DrvDocumentPropertySheets .

    • CPSUI_PDLGPAGE_DOCPROP

      Определяет три страницы, вкладки которых: Макет, Бумага/Качество и Дополнительно. Страница Дополнительно — это представление в виде дерева. Используется только функцией DrvDocumentPropertySheets .

    • CPSUI_PDLGPAGE_PRINTERPROP

      Определяет одну страницу представления в виде дерева, вкладка которой считывает параметры устройства. Используется только функцией DrvDevicePropertySheets .

    • CPSUI_PDLGPAGE_TREEVIEWONLY

      Определяет одну страницу представления в виде дерева.

cOptItem

Количество структур OPTITEM , предоставленных вызывающим абонентом, на которые указывает pOptItem.

cDlgPage

Предоставленное вызывающим абонентом число структур DLGPAGE , на которые указывает pDlgPage. Не используется, если pDlgPage задает предопределенную структуру CPSUI_PDLGPAGE с префиксом.

IconID

Поставляемый вызывающим абонентом может иметь одно из следующих значений:

  • Идентификатор ресурса значка. Это может быть определяемый приложением или один из предоставленных CPSUI идентификаторов ресурсов значка IDI_CPSUI с префиксом.

  • Дескриптор значка. Если указан дескриптор, CPSUIF_ICONID_AS_HICON необходимо задать в элементе Flags .

Указанный значок отображается в корневом узле представления дерева страницы свойств.

pOptItemName

Предоставленный вызывающим элементом указатель на строку, завершаемую значением NULL, которая должна отображаться в корневом узле представления дерева страницы свойств. Для библиотек DLL интерфейса принтера эта строка обычно представляет тип устройства принтера, например "HP 4si".

CallerVersion

Номер версии, предоставленный вызывающим абонентом, представляющий текущую версию вызывающего приложения. Высокий байт определяет основную версию, а низкий байт — дополнительную версию. Например, значение CallerVersion 0x310 указывает номер версии вызывающего объекта 3.16. Номер версии отображается, когда пользователь нажимает кнопку О программе страницы.

OptItemVersion

Номер версии, предоставленный вызывающим абонентом, представляющий текущую версию элемента параметра корневого уровня. Для библиотек DLL интерфейса принтера обычно представляет версию устройства принтера. Высокий байт определяет основную версию, а низкий байт — дополнительную версию. Например, значение OptItemVersion 0x3ff указывает номер версии вызывающего объекта 3,255. Номер версии отображается, когда пользователь нажимает кнопку О программе страницы.

dwReserved[4]

Зарезервировано. Для этого массива необходимо задать нулевое значение.

Требования

Требование Значение
Заголовок compstui.h (включая Compstui.h)