Структура CPSUICBPARAM (compstui.h)
Структура CPSUICBPARAM используется в качестве входного параметра для _CPSUICALLBACK типизированных функций обратного вызова.
Синтаксис
typedef struct _CPSUICBPARAM {
WORD cbSize;
WORD Reason;
HWND hDlg;
POPTITEM pOptItem;
WORD cOptItem;
WORD Flags;
POPTITEM pCurItem;
union {
LONG OldSel;
LPTSTR pOldSel;
} DUMMYUNIONNAME;
ULONG_PTR UserData;
ULONG_PTR Result;
} CPSUICBPARAM, *PCPSUICBPARAM;
Члены
cbSize
Предоставленный CPSUI размер структуры CPSUICBPARAM в байтах.
Reason
Предоставленное CPSUI значение, указывающее причину вызова функции обратного вызова. Может иметь одно из следующих значений:
CPSUICB_REASON_ABOUT
Пользователь нажал кнопку О программе страницы, и приложение ранее установило флаг CPSUIF_ABOUT_CALLBACK в структуре COMPROPSHEETUI . CPSUI задает pCurItem значение, содержащееся в pOptItem, а pOldSel указывает на структуру COMPROPSHEETUI .
CPSUICB_REASON_APPLYNOW
Пользователь нажал на странице кнопку Применить или ОК , и CPSUI получил PSN_APPLY уведомление. CPSUI задает pCurItem для указания на параметр, на который указывает pOptItem . Он также задает значение OldSel минус один, чтобы указать, что все допустимые измененные значения параметров должны быть применены сейчас.
CPSUICB_REASON_DLGPROC
Параметр, определяемый pCurItem , является кнопкой нажатия (TVOT_PUSHBUTTON типа параметра), и пользователь нажал кнопку.
Для параметра push button поле OPTPARAM Style (Стиль OPTPARAM) задано значение PUSHBUTTON_TYPE_DLGPROC.
CPSUICB_REASON_ECB_CHANGED
Параметр, определяемый pCurItem, является расширенным полем проверка, и пользователь изменил состояние поля.
CPSUICB_REASON_EXTPUSH
Параметр, определенный pCurItem , является расширенной кнопкой нажатия, и пользователь нажал кнопку.
CPSUICB_REASON_ITEMS_REVERTED
Пользователь нажал кнопку Отменить , и CPSUI вернул все выбранные значения к исходным значениям.
CPSUICB_REASON_KILLACTIVE
Страница страницы свойств теряет активацию, и CPSUI получает уведомление PSN_KILLACTIVE . CPSUI задает pCurItem значение, содержащееся в pOptItem, а pOldSel указывает на структуру COMPROPSHEETUI .
CPSUICB_REASON_OPTITEM_SETFOCUS
Параметр, определенный pCurItem , получил фокус ввода.
CPSUICB_REASON_PUSHBUTTON
Параметр, определяемый pCurItem , является кнопкой нажатия (TVOT_PUSHBUTTON типа параметра), и пользователь нажал кнопку.
В поле "СтильOPTPARAM" элемента кнопки задано значение PUSHBUTTON_TYPE_CALLBACK.
CPSUICB_REASON_SEL_CHANGED
Пользователь изменил выбранное значение параметра, на который указывает pCurItem.
CPSUICB_REASON_SETACTIVE
Страница страницы свойств станет активной, и CPSUI получит PSN_SETACTIVE уведомление. CPSUI задает pCurItem значение, содержащееся в pOptItem, а pOldSel указывает на структуру COMPROPSHEETUI .
hDlg
Предоставленный CPSUI дескриптор для активного в данный момент диалогового окна.
pOptItem
Предоставленный CPSUI указатель на массив структур OPTITEM . Это тот же указатель, что и приложение, ранее предоставленное в структуре COMPROPSHEETUI .
cOptItem
Предоставленное CPSUI число структур OPTITEM в массиве, на который указывает pOptItem. Это то же число, которое ранее было предоставлено приложением в структуре COMPROPSHEETUI .
Flags
Флаги, предоставляемые CPSUI. Это тот же набор флагов, что и приложение, ранее предоставленное в структуре COMPROPSHEETUI .
pCurItem
Предоставленный CPSUI указатель на элемент массива OPTITEM, на который указывает pOptItem. Этот элемент массива представляет параметр current, который является параметром, для которого была вызвана функция обратного вызова.
DUMMYUNIONNAME
Определяет объединение DUMMYUNIONNAME .
DUMMYUNIONNAME.OldSel
Если элемент Reason содержит CPSUICB_REASON_SEL_CHANGED, CPSUI задает для этого объединения предыдущее содержимое элемента OldSel/pOldSel структуры OPTITEM , на которую указывает pCurItem.
Для всех остальных значений Reason содержимое этого объединения следует игнорировать.
DUMMYUNIONNAME.pOldSel
Если элемент Reason содержит CPSUICB_REASON_SEL_CHANGED, CPSUI задает для этого объединения предыдущее содержимое элемента OldSel/pOldSel структуры OPTITEM , на которую указывает pCurItem.
Для всех остальных значений Reason содержимое этого объединения следует игнорировать.
UserData
Пользовательские данные, предоставляемые CPSUI. Это то же значение, что и приложение, ранее предоставленное в структуре COMPROPSHEETUI .
Result
Значение результата, предоставленное функцией обратного вызова с типом _CPSUICALLBACK. По умолчанию CPSUI задает для этого значения значение CPSUI_OK. После возврата функции обратного вызова CPSUI вызывает свою функцию ComPropSheet с кодом функции CPSFUNC_SET_RESULT, предоставляя содержимое члена Reason в качестве результирующих значений.
Этот элемент используется только в том случае, если элемент Reason CPSUICB_REASON_APPLYNOW и функция обратного вызова не возвращает CPSUI_ACTION_NO_APPLY_EXIT.
Требования
Требование | Значение |
---|---|
Заголовок | compstui.h (включая Compstui.h) |
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по