📄 compstui.h
字号:
//
// TVOT_3STATES
// TVOT_LISTBOX
// TVOT_COMBOBOX
//
// If all the seclection items are OPTPF_HIDE then the
// OPTITEM is automatically hided by the common UI, if
// TVOT_3STATES has 2 states hide then an error is
// returned
//
//
// OPTPF_DISABLED
//
// Specified this listed selection item is disabled and
// not availabe for user to select. This only available
// to following TVOT_xxx types
//
// TVOT_2STATES
// TVOT_3STATES
// TVOT_LISTBOX
// TVOT_COMBOBOX
//
//
// OPTPF_ICONID_AS_HICON
//
// If this flag is set then IconID DWORD field is treated
// as a handle to the icon rather then the resource ID
//
//
// OPTPF_OVERLAY_WARNING_ICON
//
// If this bit is set then this OPTPARAM item's icon will
// be overlaied by a common UI's IDI_CPSUI_WARNING icon.
//
//
// OPTPF_OVERLAY_STOP_ICON
//
// If this bit is set then this OPTPARAM item's icon will
// be overlaied by a common UI's IDI_CPSUI_STOP icon.
//
//
// OPTPF_OVERLAY_NO_ICON
//
// If this bit is set then this OPTPARAM item's icon will
// be overlaied by a common UI's IDI_CPSUI_NO icon.
//
//
// Style - Style for the OPTPARAM, it depends on the TVOT_xxx type as
// describe below
//
// TVOT_PUSBUTTON
//
// it can be one of PUSHBUTTON_TYPE_xxxx.
//
// other TVOT_xxxx
//
// this fields is not used.
//
//
// pData - Is either a pointer to the item name (string) or it is
// used to describe other data.
//
// * If the pData in the OPTPARAM is supposed to be a static
// pointer to a string and the string is a common UI
// standard resource ID then common UI will check if pData
// is equal to IDS_CPSUI_NOTINSTALLED, if true then
// common UI will overaly a not installed icon on top of
// the OPTPARAM's Icon. This will not applied to the
// TVOT_EDITBOX type since the pData is not a static text
// pointer or a string resource ID.
//
// ** See LPTSTR description above
//
// IconID - This is the icon identifier, which can be a common strandard
// IDI_CPSUI_xxx icon ID, caller's own icon resource ID, or a
// handle to the caller defined icon if OPTPF_ICONID_AS_HICON
// flag is set, in any case if the IconID is zero then it
// indicated no icon.
//
// lParam - Extra data used by the OPTPARAM, it depends on the TVOT_xxx
// type.
//
// dwReserved[]- Reserved DWORDs, must be 0
//
//
#define OPTTF_TYPE_DISABLED 0x01
#define OPTTF_NOSPACE_BEFORE_POSTFIX 0x02
#define OTS_LBCB_SORT 0x0001
#define OTS_LBCB_PROPPAGE_LBUSECB 0x0002
#define OTS_LBCB_PROPPAGE_CBUSELB 0x0004
#define OTS_LBCB_INCL_ITEM_NONE 0x0008
#define OTS_LBCB_NO_ICON16_IN_ITEM 0x0010
#define OTS_PUSH_INCL_SETUP_TITLE 0x0020
#define OTS_PUSH_NO_DOT_DOT_DOT 0x0040
#define OTS_PUSH_ENABLE_ALWAYS 0x0080
typedef struct _OPTTYPE {
WORD cbSize;
BYTE Type; // TVOT_xxxx type of OPTIONS
BYTE Flags; // OPTTF_xxx flags
WORD Count; // Count of pOptParam passed
WORD BegCtrlID; // start of item's group window ID
POPTPARAM pOptParam; // pointer to the OPTPARAM
WORD Style; // option type style as OTS_xxxx
WORD wReserved[3]; // wReserved, must be 0
ULONG_PTR dwReserved[3]; // DWORD reserved field (must be 0)
} OPTTYPE, *POPTTYPE;
//
// OPTTYPE
//
// The OPTTYPE structure is used to describe a set of selection and its
// select method, such as Form/Tray assignment. It has a pointer to a set
// of selection item (OPTPARAM)
//
//
// cbSize - size of this structure
//
// Type - Specified the option type using predefined ID as TVOT_xxxx
//
// Flags - currently only one flag is defined
//
//
// OPTTF_TYPE_DISABLED
//
// The whole OPTTYPE's OPTPARAMs are disabled, and non of
// the selection in the OPTTYPE can be selected
//
//
// OPTTF_NOSPACE_BEFORE_POSTFIX
//
// This bit only valid if the OPTTYPE's pOptParam item
// specified a postfix string as describe in the above
// section. If this flag is set then it asked common UI
// do not add a space character before the postfix string
// when it combine the pName in the OPTITEM and postfix
// string. Typeically this bit is not set for the
// postfix string, but sometime it may be required not to
// add a space character in front of it, such as '%'
// postfix string.
//
//
// Count - Count of item pointed by pOptParam. Some predefined number
// must be set according to the TVOT_XXX description.
//
// BegCtrlID - Only used if the OPTITEM/OPTTYPE is belong to the the DLGPAGE
// which has non-common UI dialog box template (DlgTemplateID
// in the DLGPAGE is not standard DP_STD_xxx common ui dialog
// box template). The common UI used this ID to managed
// caller's dialog boxes item's selections and initialization.
//
// Each OPTITEM has predefined number of window ID which
// associated with that item, the BegCtrlID specified the start
// control window ID. Each control window ID in the OPTITEM
// must have the control ID sequence as describe in the TVOT_xxx
// above.
//
// pOptParam - Pointer to array of OPTPARAM to describe each selectable item
//
// Style - Specified the style of type of control box, certain style
// only apply to centain type of TVOT_xxxx.
//
// OTS_LBCB_xxx only applied to TVOT_LISTBOX, TVOT_COMBOBOX
// OTS_PUSH_xxx only applied to TVOT_PUSHBUTTON
//
//
// OTS_LBCB_SORT
//
// Specified that the listbox or combobox item is sorted
// in ascending order based on the pData string
//
//
// OTS_LBCB_PROPAGE_LBUSECB
//
// Used when Type is TVOT_LISTBOX, if it specified and
// this OPTTYPE also on the non-treeview user defined
// property sheet page dialog then common UI assume
// control is comobobox instead of listbox on the non-
// treeview page
//
//
// OTS_LBCB_PROPAGE_CBUSELB
//
// Used when Type is TVOT_COMBOBOX, if it specified and
// this OPTTYPE also on the non-treeview user defined
// property sheet page dialog then common UI assume
// control is listbox instead of combobox on the non-
// treeview page
//
//
// OTS_LBCB_INCL_ITEM_NONE
//
// when this flag is specified, the common ui will
// automatically add a 'None' selection to the listbox or
// combobox. The 'Sel' will set to -1 if 'none' is
// selection is selected by the user. It will also
// validate the 'Sel' durning the initialization, any
// out of range value will be set to -1 (None).
//
//
// OTS_LBCB_NO_ICON16_IN_ITEM
//
// By default, each listbox, combox will have a small
// icon (16x16) in front of item text. by specified this
// bit, the listbox/combobox will not includes icons
// in the listbox/combobox.
//
// If clear then it specified that in the listbox/combobox
// to have 16x16 Icon added to the front of each item
//
//
// OTS_PUSH_INCL_SETUP_TITLE
//
// If specified for the push button then it automatically
// add the 'Setup' to the end of push botton text.
//
//
// OTS_PUSH_NO_DOT_DOT_DOT
//
// If specified then common UI will not add '...' to the
// end of the pName in the OPTITEM and push button name
//
//
// OTS_PUSH_ENABLE_ALWAYS
//
// This flag specified that even update permissio is not
// allowed, it still let user push the push button, if
// this flag is set then callback function or dialog box
// proc must disable all the control which let user
// modified the content, but just let user view the
// current setting.
//
//
// wReserved[] - Reserved fields, must be 0
//
// dwReserved[]- Reserved fields, must be 0
//
//
//
// Following are flags for the EXTPUSH
//
#define EPF_PUSH_TYPE_DLGPROC 0x0001
#define EPF_INCL_SETUP_TITLE 0x0002
#define EPF_NO_DOT_DOT_DOT 0x0004
#define EPF_ICONID_AS_HICON 0x0008
#define EPF_OVERLAY_WARNING_ICON 0x0010
#define EPF_OVERLAY_STOP_ICON 0x0020
#define EPF_OVERLAY_NO_ICON 0x0040
#define EPF_USE_HDLGTEMPLATE 0x0080
typedef struct _EXTPUSH {
WORD cbSize; // size of the structure
WORD Flags; // EPCBF_xxx flags
LPTSTR pTitle; // extended push botton title
union {
DLGPROC DlgProc; // pointer to the dialog box proc
FARPROC pfnCallBack; // callback function pointer
} DUMMYUNIONNAME;
ULONG_PTR IconID; // icon to be used
union {
WORD DlgTemplateID; // dialog box template ID
HANDLE hDlgTemplate; // handle to the dialog template
} DUMMYUNIONNAME;
ULONG_PTR dwReserved[3]; // reserved field, must be 0
} EXTPUSH, *PEXTPUSH;
//
// EXTPUSH structure is used to describe the extened push button available
// on OPTITEM/OPTITEM, each OPTTYPE can optional have either one extended check
// box or one extended push button callback.
//
//
// cbSize - size of this structure
//
// Flags - flags for the EXTPUSH as EPF_xxxx
//
// EPF_PUSH_TYPE_DLGPROC
//
// If this bit is set then it specified the extended
// push button is type of DLGPROC and DlgProc and
// DlgTemplateID is valid for common UI to call.
//
// If this bit is clear then it specfied the extended
// push button is the callback style and pfnCallBack
// should be called by the common UI
//
//
// EPF_INCL_SETUP_TITLE
//
// If specified for the extended push button then it
// automatically add the 'Setup' to the end of
// extended push button's title
//
//
// EPF_NO_DOT_DOT_DOT
//
// If specified then common UI will not add '...' to
// the end of the pTitle in the EXTPUSH.
//
//
// EPF_ICONID_AS_HICON
//
// If this flag is set then IconID DWORD field is
// treated as a handle to the icon rather then the
// resource ID.
//
//
// EPF_OVERLAY_WARNING_ICON
//
// If this bit is set then this EXTPUSH's icon will be
// overlaied by a common UI's IDI_CPSUI_WARNING icon.
//
//
// EPF_OVERLAY_STOP_ICON
//
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -