Page 4 of 6
Re: Requested API Structure and constants
Posted: Sat Oct 16, 2021 2:40 pm
by Mistrel
Code: Select all
WM_CLIPBOARDUPDATE 0x031D
WM_DWMCOLORIZATIONCOLORCHANGED 0x0320
WM_DWMCOMPOSITIONCHANGED 0x031e
WM_DWMNCRENDERINGCHANGED 0x031f
WM_DWMSENDICONICLIVEPREVIEWBITMAP 0x0326
WM_DWMSENDICONICTHUMBNAIL 0x0323
WM_DWMWINDOWMAXIMIZEDCHANGE 0x0321
WM_GETTITLEBARINFOEX 0x033F
WM_INPUT_DEVICE_CHANGE 0x00FE
WM_DPICHANGED 0x02e0
// Moved from "Bugs - Windows" to "Feature Requests and Wishlists" (Kiffi)
Re: Requested API Structure and constants
Posted: Sat Oct 16, 2021 9:56 pm
by jacdelad
Code: Select all
#LVBKIF_FLAG_ALPHABLEND $20000000
#LVBKIF_FLAG_TILEOFFSET $100
#LVBKIF_SOURCE_HBITMAP $1
#LVBKIF_SOURCE_MASK $3
#LVBKIF_SOURCE_NONE $0
#LVBKIF_SOURCE_URL $2
#LVBKIF_STYLE_NORMAL $0
#LVBKIF_STYLE_TILE $10
#LVBKIF_TYPE_WATERMARK $10000000
#LVCF_DEFAULTWIDTH $80
#LVCF_IDEALWIDTH $100
#LVCF_MINWIDTH $40
#LVCFMT_FILL $200000
#LVCFMT_FIXED_WIDTH $100
#LVCFMT_FIXED_RATIO $80000
#LVCFMT_LINE_BREAK $100000
#LVCFMT_NO_DPI_SCALE $40000
#LVCFMT_NO_TITLE $800000
#LVCFMT_SPLITBUTTON $1000000
#LVCFMT_TILE_PLACEMENTMASK $300000
#LVCFMT_WRAP $400000
#LVFI_SUBSTRING $4
#LVFIF_STATE $2
#LVFIF_TEXT $1
#LVFIS_FOCUSED $1
#LVGF_DESCRIPTIONBOTTOM $800
#LVGF_DESCRIPTIONTOP $400
#LVGF_EXTENDEDIMAGE $2000
#LVGF_ITEMS $4000
#LVGF_SUBSET $8000
#LVGF_SUBSETITEMS $10000
#LVGF_SUBTITLE $100
#LVGF_TASK $200
#LVGF_TITLEIMAGE $1000
#LVGS_FOCUSED $10
#LVGS_NOHEADER $4
#LVGS_NORMAL $0
#LVGS_SELECTED $20
#LVGS_SUBSETED $40
#LVGS_SUBSETLINKFOCUSED $80
#LVHT_EX_FOOTER $0
#LVHT_EX_GROUP $FF000000
#LVHT_EX_GROUP_BACKGROUND $80000000
#LVHT_EX_GROUP_COLLAPSE $40000000
#LVHT_EX_GROUP_FOOTER $20000000
#LVHT_EX_GROUP_HEADER $10000000
#LVHT_EX_GROUP_STATEICON $1000000
#LVHT_EX_GROUP_SUBSETLINK $2000000
#LVHT_EX_ONCONTENTS $4000000
#LVIF_COLFMT $10000
#LVIS_ACTIVATING $20
#LVS_EX_COLUMNOVERFLOW $80000000
#LVTVIF_AUTOSIZE $0
#LVTVIF_EXTENDED $4
#LVTVIF_FIXEDHEIGHT $2
#LVTVIF_FIXEDSIZE $3
#LVTVIF_FIXEDWIDTH $1
#LVTVIM_COLUMNS $2
#LVTVIM_LABELMARGIN $4
#LVTVIM_TILESIZE $1
I will also try to add the missing listview structures (=listicon for PureBasic).
Re: Requested API Structure and constants
Posted: Sun Oct 17, 2021 3:53 am
by Mistrel
WM_MOUSELAST is defined as 0x0209 but has been at least 0x020a since Windows 98. Its current value is 0x020e.
Code: Select all
#if _WIN32_WINNT >= 0x0600
#define WM_MOUSELAST 0x020e
#elif _WIN32_WINNT >= 0x0500
#define WM_MOUSELAST 0x020d
#elif (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400)
#define WM_MOUSELAST 0x020a
#else
#define WM_MOUSELAST 0x0209
#endif
Re: Requested API Structure and constants
Posted: Sun Oct 17, 2021 8:33 am
by jacdelad
That's crazy, I thought these constants are...constant?
Re: Requested API Structure and constants
Posted: Thu Oct 21, 2021 11:43 am
by Mistrel
WM_MOUSELAST identifies the last mouse-related constant between it and WM_MOUSEFIRST. As new constants were added this number was expanded. It corresponds with the features configured by the Win32 SDK. So it will always return the correct constant for what is defined but in the case of PureBasic you have to match them up since it doesn't use the #ifdef rules of the SDK but instead defines everything explicitly.
This is a compile-time constant. Not a forever-constant.

Re: Requested API Structure and constants
Posted: Tue Nov 23, 2021 7:12 am
by Caronte3D
I don't know if thi's windows related, but...
Now we have:
#PB_ListIcon_Checked
#PB_ListIcon_Inbetween
But no #PB_ListIcon_Unchecked so we must use 0 to uncheck
Re: Requested API Structure and constants
Posted: Sun Nov 28, 2021 11:59 am
by Mistrel
Alternatively, you can define #PB_ListIcon_Unchecked yourself in the meantime instead of comparing with 0.
Re: Requested API Structure and constants
Posted: Sun Nov 28, 2021 8:20 pm
by Caronte3D
Thanks Mistrel, I know, but I always use autocomplete and I think it should be assigned by default in PB
Re: Requested API Structure and constants
Posted: Wed Feb 09, 2022 7:42 pm
by mpz
Hi,
here comes some constants to read disk informations
greetings
Michael
Code: Select all
;winioctl.h
;ntddcdrm.h
#IOCTL_DISK_GET_DRIVE_GEOMETRY = $00070000
#IOCTL_DISK_GET_PARTITION_INFO = $00074004
#IOCTL_DISK_SET_PARTITION_INFO = $0007C008
#IOCTL_DISK_GET_DRIVE_LAYOUT = $0007400C
#IOCTL_DISK_SET_DRIVE_LAYOUT = $0007C010
#IOCTL_DISK_VERIFY = $00070014
#IOCTL_DISK_FORMAT_TRACKS = $0007C018
#IOCTL_DISK_REASSIGN_BLOCKS = $0007C01C
#IOCTL_DISK_PERFORMANCE = $00070020
#IOCTL_DISK_IS_WRITABLE = $00070024
#IOCTL_DISK_LOGGING = $00070028
#IOCTL_DISK_FORMAT_TRACKS_EX = $0007C02C
#IOCTL_DISK_HISTOGRAM_STRUCTURE = $00070030
#IOCTL_DISK_HISTOGRAM_DATA = $00070034
#IOCTL_DISK_HISTOGRAM_RESET = $00070038
#IOCTL_DISK_REQUEST_STRUCTURE = $0007003C
#IOCTL_DISK_REQUEST_DATA = $00070040
#IOCTL_DISK_PERFORMANCE_OFF = $00070060
#IOCTL_DISK_CONTROLLER_NUMBER = $00070044
#SMART_GET_VERSION = $00074080
#SMART_SEND_DRIVE_COMMAND = $0007C084
#SMART_RCV_DRIVE_DATA = $0007C088
#IOCTL_DISK_GET_PARTITION_INFO_EX = $00070048
#IOCTL_DISK_SET_PARTITION_INFO_EX = $0007C04C
#IOCTL_DISK_GET_DRIVE_LAYOUT_EX = $00070050
#IOCTL_DISK_SET_DRIVE_LAYOUT_EX = $0007C054
#IOCTL_DISK_CREATE_DISK = $0007C058
#IOCTL_DISK_GET_LENGTH_INFO = $0007405C
#IOCTL_DISK_GET_DRIVE_GEOMETRY_EX = $000700A0
#IOCTL_DISK_UPDATE_DRIVE_SIZE = $0007C0C8
#IOCTL_DISK_GROW_PARTITION = $0007C0D0
#IOCTL_DISK_GET_CACHE_INFORMATION = $000740D4
#IOCTL_DISK_SET_CACHE_INFORMATION = $0007C0D8
#IOCTL_DISK_GET_WRITE_CACHE_STATE = $000740DC
#IOCTL_DISK_DELETE_DRIVE_LAYOUT = $0007C100
#IOCTL_DISK_UPDATE_PROPERTIES = $00070140
#IOCTL_DISK_INTERNAL_SET_VERIFY = $00070403
#IOCTL_DISK_INTERNAL_CLEAR_VERIFY = $00070407
#IOCTL_DISK_INTERNAL_SET_NOTIFY= $00070408
#IOCTL_DISK_CHECK_VERIFY = $00074800
#IOCTL_DISK_MEDIA_REMOVAL = $00074804
#IOCTL_DISK_EJECT_MEDIA = $00074808
#IOCTL_DISK_LOAD_MEDIA = $0007480C
#IOCTL_DISK_RESERVE = $00074810
#IOCTL_DISK_RELEASE = $00074814
#IOCTL_DISK_FIND_NEW_DEVICES = $00074818
#IOCTL_DISK_GET_MEDIA_TYPES = $00070C00
#FSCTL_REQUEST_OPLOCK_LEVEL_1 = $00090000
#FSCTL_REQUEST_OPLOCK_LEVEL_2 = $00090004
#FSCTL_REQUEST_BATCH_OPLOCK = $00090008
#FSCTL_OPLOCK_BREAK_ACKNOWLEDGE = $0009000C
#FSCTL_OPBATCH_ACK_CLOSE_PENDING = $00090010
#FSCTL_OPLOCK_BREAK_NOTIFY = $00090014
#FSCTL_LOCK_VOLUME = $00090018
#FSCTL_UNLOCK_VOLUME = $0009001C
#FSCTL_DISMOUNT_VOLUME = $00090020
#FSCTL_IS_VOLUME_MOUNTED = $00090028
#FSCTL_IS_PATHNAME_VALID = $0009002C
#FSCTL_MARK_VOLUME_DIRTY = $00090030
#FSCTL_QUERY_RETRIEVAL_POINTERS = $0009003B
#FSCTL_GET_COMPRESSION = $0009003C
#FSCTL_SET_COMPRESSION = $0009C040
#FSCTL_MARK_AS_SYSTEM_HIVE = $0009004F
#FSCTL_OPLOCK_BREAK_ACK_NO_2 = $00090050
#FSCTL_INVALIDATE_VOLUMES = $00090054
#FSCTL_QUERY_FAT_BPB = $00090058
#FSCTL_REQUEST_FILTER_OPLOCK = $0009005C
#FSCTL_FILESYSTEM_GET_STATISTICS = $00090060
#FSCTL_GET_NTFS_VOLUME_DATA = $00090064
#FSCTL_GET_NTFS_FILE_RECORD = $00090068
#FSCTL_GET_VOLUME_BITMAP = $0009006F
#FSCTL_GET_RETRIEVAL_POINTERS = $00090073
#FSCTL_MOVE_FILE = $00090074
#FSCTL_IS_VOLUME_DIRTY = $00090078
#FSCTL_ALLOW_EXTENDED_DASD_IO = $00090083
#FSCTL_READ_PROPERTY_DATA = $00090087
#FSCTL_WRITE_PROPERTY_DATA = $0009008B
#FSCTL_FIND_FILES_BY_SID = $0009008F
#FSCTL_DUMP_PROPERTY_DATA = $00090097
#FSCTL_SET_OBJECT_ID = $00090098
#FSCTL_GET_OBJECT_ID = $0009009C
#FSCTL_DELETE_OBJECT_ID = $000900A0
#FSCTL_SET_REPARSE_POINT = $000900A4
#FSCTL_GET_REPARSE_POINT = $000900A8
#FSCTL_DELETE_REPARSE_POINT = $000900AC
#FSCTL_ENUM_USN_DATA = $000900B3
#FSCTL_SECURITY_ID_CHECK = $000940B7
#FSCTL_READ_USN_JOURNAL = $000900BB
#FSCTL_SET_OBJECT_ID_EXTENDED = $000900BC
#FSCTL_CREATE_OR_GET_OBJECT_ID = $000900C0
#FSCTL_SET_SPARSE = $000900C4
#FSCTL_SET_ZERO_DATA = $000980C8
#FSCTL_QUERY_ALLOCATED_RANGES = $000940CF
#FSCTL_ENABLE_UPGRADE = $000980D0
#FSCTL_SET_ENCRYPTION = $000900D7
#FSCTL_ENCRYPTION_FSCTL_IO = $000900DB
#FSCTL_WRITE_RAW_ENCRYPTED = $000900DF
#FSCTL_READ_RAW_ENCRYPTED = $000900E3
#FSCTL_CREATE_USN_JOURNAL = $000900E7
#FSCTL_READ_FILE_USN_DATA = $000900EB
#FSCTL_WRITE_USN_CLOSE_RECORD = $000900EF
#FSCTL_EXTEND_VOLUME = $000900F0
#FSCTL_QUERY_USN_JOURNAL = $000900F4
#FSCTL_DELETE_USN_JOURNAL = $000900F8
#FSCTL_MARK_HANDLE = $000900FC
#FSCTL_SIS_COPYFILE = $00090100
#FSCTL_SIS_LINK_FILES = $0009C104
#FSCTL_HSM_MSG = $0009C108
#FSCTL_HSM_DATA = $0009C113
#FSCTL_RECALL_FILE = $00090117
#IOCTL_STORAGE_CHECK_VERIFY = $002D4800
#IOCTL_STORAGE_CHECK_VERIFY2 = $002D0800
#IOCTL_STORAGE_MEDIA_REMOVAL = $002D4804
#IOCTL_STORAGE_EJECT_MEDIA = $002D4808
#IOCTL_STORAGE_LOAD_MEDIA = $002D480C
#IOCTL_STORAGE_LOAD_MEDIA2 = $002D080C
#IOCTL_STORAGE_RESERVE = $002D4810
#IOCTL_STORAGE_RELEASE = $002D4814
#IOCTL_STORAGE_FIND_NEW_DEVICES = $002D4818
#IOCTL_STORAGE_EJECTION_CONTROL = $002D0940
#IOCTL_STORAGE_MCN_CONTROL = $002D0944
#IOCTL_STORAGE_GET_MEDIA_TYPES = $002D0C00
#IOCTL_STORAGE_GET_MEDIA_TYPES_EX = $002D0C04
#IOCTL_STORAGE_RESET_BUS = $002D5000
#IOCTL_STORAGE_RESET_DEVICE = $002D5004
#IOCTL_STORAGE_GET_DEVICE_NUMBER = $002D1080
#IOCTL_STORAGE_PREDICT_FAILURE = $002D1100
#IOCTL_STORAGE_QUERY_PROPERTY = $002D1400
#OBSOLETE_IOCTL_STORAGE_RESET_BUS = $002DD000
#OBSOLETE_IOCTL_STORAGE_RESET_DEVICE = $002DD004
#FT_INITIALIZE_SET = $00660000
#FT_REGENERATE = $00660004
#FT_CONFIGURE = $0066000B
#FT_VERIFY = $0066000C
#FT_SECONDARY_READ = $00664012
#FT_PRIMARY_READ = $00664016
#FT_BALANCED_READ_MODE = $0066001B
#FT_SYNC_REDUNDANT_COPY = $0066001C
#FT_SEQUENTIAL_WRITE_MODE = $00660023
#FT_PARALLEL_WRITE_MODE = $00660027
#FT_QUERY_SET_STATE = $00660028
#FT_CLUSTER_SET_MEMBER_STATE = $0066002C
#FT_CLUSTER_GET_MEMBER_STATE = $00660030
#FT_CREATE_LOGICAL_DISK = $0067C000
#FT_BREAK_LOGICAL_DISK = $0067C004
#FT_ENUMERATE_LOGICAL_DISKS = $00674008
#FT_QUERY_LOGICAL_DISK_INFORMATION = $0067400C
#FT_ORPHAN_LOGICAL_DISK_MEMBER = $0067C010
#FT_REPLACE_LOGICAL_DISK_MEMBER = $0067C014
#FT_QUERY_NT_DEVICE_NAME_FOR_LOGICAL_DISK = $00674018
#FT_INITIALIZE_LOGICAL_DISK = $0067C01C
#FT_QUERY_DRIVE_LETTER_FOR_LOGICAL_DISK = $00674020
#FT_CHECK_IO = $00674024
#FT_SET_DRIVE_LETTER_FOR_LOGICAL_DISK = $0067C028
#FT_QUERY_NT_DEVICE_NAME_FOR_PARTITION = $00674030
#FT_CHANGE_NOTIFY = $00674034
#FT_STOP_SYNC_OPERATIONS = $0067C038
#FT_QUERY_LOGICAL_DISK_ID = $00674190
#FT_CREATE_PARTITION_LOGICAL_DISK = $0067C194
#IOCTL_MOUNTMGR_CREATE_POINT = $006DC000
#IOCTL_MOUNTMGR_DELETE_POINTS = $006DC004
#IOCTL_MOUNTMGR_QUERY_POINTS = $006D0008
#IOCTL_MOUNTMGR_DELETE_POINTS_DBONLY = $006DC00C
#IOCTL_MOUNTMGR_NEXT_DRIVE_LETTER = $006DC010
#IOCTL_MOUNTMGR_AUTO_DL_ASSIGNMENTS = $006DC014
#IOCTL_MOUNTMGR_VOLUME_MOUNT_POINT_CREATED = $006DC018
#IOCTL_MOUNTMGR_VOLUME_MOUNT_POINT_DELETED = $006DC01C
#IOCTL_MOUNTMGR_CHANGE_NOTIFY = $006D4020
#IOCTL_MOUNTMGR_KEEP_LINKS_WHEN_OFFLINE = $006DC024
#IOCTL_MOUNTMGR_CHECK_UNPROCESSED_VOLUMES = $006D4028
#IOCTL_MOUNTMGR_VOLUME_ARRIVAL_NOTIFICATION = $006D402C
#IOCTL_MOUNTMGR_VOLUME_ARRIVAL_NOTIFICATION = $006D402C
#IOCTL_MOUNTMGR_QUERY_DOS_VOLUME_PATH = $006D0030
#IOCTL_MOUNTMGR_QUERY_DOS_VOLUME_PATHS = $006D0034
#IOCTL_MOUNTDEV_QUERY_UNIQUE_ID = $004D0000
#IOCTL_MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY = $004D0004
#IOCTL_MOUNTDEV_QUERY_SUGGESTED_LINK_NAME = $004D000C
#IOCTL_MOUNTDEV_LINK_CREATED = $004D0010
#IOCTL_MOUNTDEV_LINK_DELETED = $004D0014
#IOCTL_MOUNTDEV_QUERY_STABLE_GUID = $004D0018
#IOCTL_CDROM_READ_TOC = $00024000
#IOCTL_CDROM_SEEK_AUDIO_MSF = $00024004
#IOCTL_CDROM_STOP_AUDIO = $00024008
#IOCTL_CDROM_PAUSE_AUDIO = $0002400C
#IOCTL_CDROM_RESUME_AUDIO = $00024010
#IOCTL_CDROM_GET_VOLUME = $00024014
#IOCTL_CDROM_PLAY_AUDIO_MSF = $00024018
#IOCTL_CDROM_SET_VOLUME = $00024028
#IOCTL_CDROM_READ_Q_CHANNEL = $0002402C
#IOCTL_CDROM_GET_CONTROL = $00024034
#IOCTL_CDROM_GET_LAST_SESSION = $00024038
#IOCTL_CDROM_RAW_READ = $0002403E
#IOCTL_CDROM_DISK_TYPE = $00020040
#IOCTL_CDROM_GET_DRIVE_GEOMETRY = $0002404C
#IOCTL_CDROM_GET_DRIVE_GEOMETRY_EX = $00024050
#IOCTL_CDROM_READ_TOC_EX = $00024054
#IOCTL_CDROM_GET_CONFIGURATION = $00024058
#IOCTL_CDROM_CHECK_VERIFY = $00024800
#IOCTL_CDROM_MEDIA_REMOVAL = $00024804
#IOCTL_CDROM_EJECT_MEDIA = $00024808
#IOCTL_CDROM_LOAD_MEDIA = $0002480C
#IOCTL_CDROM_RESERVE = $00024810
#IOCTL_CDROM_RELEASE = $00024814
#IOCTL_CDROM_FIND_NEW_DEVICES = $00024818
#IOCTL_CDROM_UNLOAD_DRIVER = $00025008
Re: Requested API Structure and constants
Posted: Mon May 09, 2022 6:47 pm
by fryquez
Not missing, but wrong ones:
\Residents\Windows\Windows.pb
Code: Select all
#SecurityAnonymous = 0
#SecurityIdentification = 1
\Documentation\Imports\Windows\shlwapi.pb
Code: Select all
AnsiWide(StrFormatByteSize, (arg1.q, arg2, arg3), 16)
Re: Requested API Structure and constants
Posted: Mon Jun 20, 2022 8:46 pm
by Little John
Re: Requested API Structure and constants
Posted: Sun Jan 01, 2023 10:58 am
by Denis
PureBasic Structure ENHMETAHEADER is not Ok
Code: Select all
Structure ENHMETAHEADER
iType.l
nSize.l
rclBounds.RECT
rclFrame.RECT
dSignature.l
nVersion.l
nBytes.l
nRecords.l
nHandles.w
sReserved.w
nDescription.l
offDescription.l
nPalEntries.l
szlDevice.SIZE
szlMillimeters.SIZE
cbPixelFormat.l
offPixelFormat.l
bOpenGL.l
EndStructure
The same from Microsoft
(
https://learn.microsoft.com/fr-fr/windo ... metaheader)
Code: Select all
typedef struct tagENHMETAHEADER {
DWORD iType;
DWORD nSize;
RECTL rclBounds;
RECTL rclFrame;
DWORD dSignature;
DWORD nVersion;
DWORD nBytes;
DWORD nRecords;
WORD nHandles;
WORD sReserved;
DWORD nDescription;
DWORD offDescription;
DWORD nPalEntries;
SIZEL szlDevice;
SIZEL szlMillimeters;
DWORD cbPixelFormat;
DWORD offPixelFormat;
DWORD bOpenGL;
SIZEL szlMicrometers;
} ENHMETAHEADER, *PENHMETAHEADER, *LPENHMETAHEADER;
Very last Item szlMicrometers.SIZEL is lacking
Re: Requested API Structure and constants
Posted: Wed Feb 15, 2023 7:33 am
by jacdelad
Since I want to retrieve more information about themes in Windows Vista and above I need a lot of more constants:
Code: Select all
#TMTVS_RESERVEDLOW = 100000
#TMTVS_RESERVEDHIGH = 19999
#AW_TITLEBAR = 1
#AW_HEADERAREA = 2
#AW_CONTENTAREA = 3
#AW_COMMANDAREA = 4
#AW_BUTTON = 5
#AW_S_TITLEBAR_ACTIVE = 1
#AW_S_TITLEBAR_INACTIVE = 2
#AW_S_HEADERAREA_NOMARGIN = 1
#AW_S_CONTENTAREA_NOMARGIN = 1
#BP_PUSHBUTTON = 1
#BP_RADIOBUTTON = 2
#BP_CHECKBOX = 3
#BP_GROUPBOX = 4
#BP_USERBUTTON = 5
#BP_COMMANDLINK = 6
#BP_COMMANDLINKGLYPH = 7
#BP_RADIOBUTTON_HCDISABLED = 8
#BP_CHECKBOX_HCDISABLED = 9
#BP_GROUPBOX_HCDISABLED = 10
#BP_PUSHBUTTONDROPDOWN = 11
#PBS_NORMAL = 1
#PBS_HOT = 2
#PBS_PRESSED = 3
#PBS_DISABLED = 4
#PBS_DEFAULTED = 5
#PBS_DEFAULTED_ANIMATING = 6
#RBS_UNCHECKEDNORMAL = 1
#RBS_UNCHECKEDHOT = 2
#RBS_UNCHECKEDPRESSED = 3
#RBS_UNCHECKEDDISABLED = 4
#RBS_CHECKEDNORMAL = 5
#RBS_CHECKEDHOT = 6
#RBS_CHECKEDPRESSED = 7
#RBS_CHECKEDDISABLED = 8
#CBS_UNCHECKEDNORMAL = 1
#CBS_UNCHECKEDHOT = 2
#CBS_UNCHECKEDPRESSED = 3
#CBS_UNCHECKEDDISABLED = 4
#CBS_CHECKEDNORMAL = 5
#CBS_CHECKEDHOT = 6
#CBS_CHECKEDPRESSED = 7
#CBS_CHECKEDDISABLED = 8
#CBS_MIXEDNORMAL = 9
#CBS_MIXEDHOT = 10
#CBS_MIXEDPRESSED = 11
#CBS_MIXEDDISABLED = 12
#CBS_IMPLICITNORMAL = 13
#CBS_IMPLICITHOT = 14
#CBS_IMPLICITPRESSED = 15
#CBS_IMPLICITDISABLED = 16
#CBS_EXCLUDEDNORMAL = 17
#CBS_EXCLUDEDHOT = 18
#CBS_EXCLUDEDPRESSED = 19
#CBS_EXCLUDEDDISABLED = 20
#GBS_NORMAL = 1
#GBS_DISABLED = 2
#CMDLS_NORMAL = 1
#CMDLS_HOT = 2
#CMDLS_PRESSED = 3
#CMDLS_DISABLED = 4
#CMDLS_DEFAULTED = 5
#CMDLS_DEFAULTED_ANIMATING = 6
#CMDLGS_NORMAL = 1
#CMDLGS_HOT = 2
#CMDLGS_PRESSED = 3
#CMDLGS_DISABLED = 4
#CMDLGS_DEFAULTED = 5
#PBDDS_NORMAL = 1
#PBDDS_DISABLED = 2
#CP_DROPDOWNBUTTON = 1
#CP_BACKGROUND = 2
#CP_TRANSPARENTBACKGROUND = 3
#CP_BORDER = 4
#CP_READONLY = 5
#CP_DROPDOWNBUTTONRIGHT = 6
#CP_DROPDOWNBUTTONLEFT = 7
#CP_CUEBANNER = 8
#CP_DROPDOWNITEM = 9
#CBXS_NORMAL = 1
#CBXS_HOT = 2
#CBXS_PRESSED = 3
#CBXS_DISABLED = 4
#CBXSR_NORMAL = 1
#CBXSR_HOT = 2
#CBXSR_PRESSED = 3
#CBXSR_DISABLED = 4
#CBXSL_NORMAL = 1
#CBXSL_HOT = 2
#CBXSL_PRESSED = 3
#CBXSL_DISABLED = 4
#CBTBS_NORMAL = 1
#CBTBS_HOT = 2
#CBTBS_DISABLED = 3
#CBTBS_FOCUSED = 4
#CBB_NORMAL = 1
#CBB_HOT = 2
#CBB_FOCUSED = 3
#CBB_DISABLED = 4
#CBRO_NORMAL = 1
#CBRO_HOT = 2
#CBRO_PRESSED = 3
#CBRO_DISABLED = 4
#CBCB_NORMAL = 1
#CBCB_HOT = 2
#CBCB_PRESSED = 3
#CBCB_DISABLED = 4
#CBDI_NORMAL = 1
#CBDI_HIGHLIGHTED = 2
#CSST_TAB = 1
#CSTB_NORMAL = 1
#CSTB_HOT = 2
#CSTB_SELECTED = 3
#CPANEL_NAVIGATIONPANE = 1
#CPANEL_CONTENTPANE = 2
#CPANEL_NAVIGATIONPANELABEL = 3
#CPANEL_CONTENTPANELABEL = 4
#CPANEL_TITLE = 5
#CPANEL_BODYTEXT = 6
#CPANEL_HELPLINK = 7
#CPANEL_TASKLINK = 8
#CPANEL_GROUPTEXT = 9
#CPANEL_CONTENTLINK = 10
#CPANEL_SECTIONTITLELINK = 11
#CPANEL_LARGECOMMANDAREA = 12
#CPANEL_SMALLCOMMANDAREA = 13
#CPANEL_BUTTON = 14
#CPANEL_MESSAGETEXT = 15
#CPANEL_NAVIGATIONPANELINE = 16
#CPANEL_CONTENTPANELINE = 17
#CPANEL_BANNERAREA = 18
#CPANEL_BODYTITLE = 19
#CPHL_NORMAL = 1
#CPHL_HOT = 2
#CPHL_PRESSED = 3
#CPHL_DISABLED = 4
#CPTL_NORMAL = 1
#CPTL_HOT = 2
#CPTL_PRESSED = 3
#CPTL_DISABLED = 4
#CPTL_PAGE = 5
#CPCL_NORMAL = 1
#CPCL_HOT = 2
#CPCL_PRESSED = 3
#CPCL_DISABLED = 4
#CPSTL_NORMAL = 1
#CPSTL_HOT = 2
#DP_DATETEXT = 1
#DP_DATEBORDER = 2
#DP_SHOWCALENDARBUTTONRIGHT = 3
#DPDT_NORMAL = 1
#DPDT_DISABLED = 2
#DPDT_SELECTED = 3
#DPDB_NORMAL = 1
#DPDB_HOT = 2
#DPDB_FOCUSED = 3
#DPDB_DISABLED = 4
#DPSCBR_NORMAL = 1
#DPSCBR_HOT = 2
#DPSCBR_PRESSED = 3
#DPSCBR_DISABLED = 4
#DD_COPY = 1
#DD_MOVE = 2
#DD_UPDATEMETADATA = 3
#DD_CREATELINK = 4
#DD_WARNING = 5
#DD_NONE = 6
#DD_IMAGEBG = 7
#DD_TEXTBG = 8
#DDCOPY_HIGHLIGHT = 1
#DDCOPY_NOHIGHLIGHT = 2
#DDMOVE_HIGHLIGHT = 1
#DDMOVE_NOHIGHLIGHT = 2
#DDUPDATEMETADATA_HIGHLIGHT = 1
#DDUPDATEMETADATA_NOHIGHLIGHT = 2
#DDCREATELINK_HIGHLIGHT = 1
#DDCREATELINK_NOHIGHLIGHT = 2
#DDWARNING_HIGHLIGHT = 1
#DDWARNING_NOHIGHLIGHT = 2
#DDNONE_HIGHLIGHT = 1
#DDNONE_NOHIGHLIGHT = 2
#EP_EDITTEXT = 1
#EP_CARET = 2
#EP_BACKGROUND = 3
#EP_PASSWORD = 4
#EP_BACKGROUNDWITHBORDER = 5
#EP_EDITBORDER_NOSCROLL = 6
#EP_EDITBORDER_HSCROLL = 7
#EP_EDITBORDER_VSCROLL = 8
#EP_EDITBORDER_HVSCROLL = 9
#ETS_NORMAL = 1
#ETS_HOT = 2
#ETS_SELECTED = 3
#ETS_DISABLED = 4
#ETS_FOCUSED = 5
#ETS_READONLY = 6
#ETS_ASSIST = 7
#ETS_CUEBANNER = 8
#EBS_NORMAL = 1
#EBS_HOT = 2
#EBS_DISABLED = 3
#EBS_FOCUSED = 4
#EBS_READONLY = 5
#EBS_ASSIST = 6
#EBWBS_NORMAL = 1
#EBWBS_HOT = 2
#EBWBS_DISABLED = 3
#EBWBS_FOCUSED = 4
#EPSN_NORMAL = 1
#EPSN_HOT = 2
#EPSN_FOCUSED = 3
#EPSN_DISABLED = 4
#EPSH_NORMAL = 1
#EPSH_HOT = 2
#EPSH_FOCUSED = 3
#EPSH_DISABLED = 4
#EPSV_NORMAL = 1
#EPSV_HOT = 2
#EPSV_FOCUSED = 3
#EPSV_DISABLED = 4
#EPSHV_NORMAL = 1
#EPSHV_HOT = 2
#EPSHV_FOCUSED = 3
#EPSHV_DISABLED = 4
#EBP_HEADERBACKGROUND = 1
#EBP_HEADERCLOSE = 2
#EBP_HEADERPIN = 3
#EBP_IEBARMENU = 4
#EBP_NORMALGROUPBACKGROUND = 5
#EBP_NORMALGROUPCOLLAPSE = 6
#EBP_NORMALGROUPEXPAND = 7
#EBP_NORMALGROUPHEAD = 8
#EBP_SPECIALGROUPBACKGROUND = 9
#EBP_SPECIALGROUPCOLLAPSE = 10
#EBP_SPECIALGROUPEXPAND = 11
#EBP_SPECIALGROUPHEAD = 12
#EBHC_NORMAL = 1
#EBHC_HOT = 2
#EBHC_PRESSED = 3
#EBHP_NORMAL = 1
#EBHP_HOT = 2
#EBHP_PRESSED = 3
#EBHP_SELECTEDNORMAL = 4
#EBHP_SELECTEDHOT = 5
#EBHP_SELECTEDPRESSED = 6
#EBM_NORMAL = 1
#EBM_HOT = 2
#EBM_PRESSED = 3
#EBNGC_NORMAL = 1
#EBNGC_HOT = 2
#EBNGC_PRESSED = 3
#EBNGE_NORMAL = 1
#EBNGE_HOT = 2
#EBNGE_PRESSED = 3
#EBSGC_NORMAL = 1
#EBSGC_HOT = 2
#EBSGC_PRESSED = 3
#EBSGE_NORMAL = 1
#EBSGE_HOT = 2
#EBSGE_PRESSED = 3
#FLYOUT_HEADER = 1
#FLYOUT_BODY = 2
#FLYOUT_LABEL = 3
#FLYOUT_LINK = 4
#FLYOUT_DIVIDER = 5
#FLYOUT_WINDOW = 6
#FLYOUT_LINKAREA = 7
#FLYOUT_LINKHEADER = 8
#FLS_NORMAL = 1
#FLS_SELECTED = 2
#FLS_EMPHASIZED = 3
#FLS_DISABLED = 4
#FLYOUTLINK_NORMAL = 1
#FLYOUTLINK_HOVER = 2
#FBS_NORMAL = 1
#FBS_EMPHASIZED = 2
#FLH_NORMAL = 1
#FLH_HOVER = 2
#HP_HEADERITEM = 1
#HP_HEADERITEMLEFT = 2
#HP_HEADERITEMRIGHT = 3
#HP_HEADERSORTARROW = 4
#HP_HEADERDROPDOWN = 5
#HP_HEADERDROPDOWNFILTER = 6
#HP_HEADEROVERFLOW = 7
#HBG_DETAILS = 1
#HBG_ICON = 2
#HIS_NORMAL = 1
#HIS_HOT = 2
#HIS_PRESSED = 3
#HIS_SORTEDNORMAL = 4
#HIS_SORTEDHOT = 5
#HIS_SORTEDPRESSED = 6
#HIS_ICONNORMAL = 7
#HIS_ICONHOT = 8
#HIS_ICONPRESSED = 9
#HIS_ICONSORTEDNORMAL = 10
#HIS_ICONSORTEDHOT = 11
#HIS_ICONSORTEDPRESSED = 12
#HILS_NORMAL = 1
#HILS_HOT = 2
#HILS_PRESSED = 3
#HIRS_NORMAL = 1
#HIRS_HOT = 2
#HIRS_PRESSED = 3
#HSAS_SORTEDUP = 1
#HSAS_SORTEDDOWN = 2
#HDDS_NORMAL = 1
#HDDS_SOFTHOT = 2
#HDDS_HOT = 3
#HDDFS_NORMAL = 1
#HDDFS_SOFTHOT = 2
#HDDFS_HOT = 3
#HOFS_NORMAL = 1
#HOFS_HOT = 2
#LBCP_BORDER_HSCROLL = 1
#LBCP_BORDER_HVSCROLL = 2
#LBCP_BORDER_NOSCROLL = 3
#LBCP_BORDER_VSCROLL = 4
#LBCP_ITEM = 5
#LBPSH_NORMAL = 1
#LBPSH_FOCUSED = 2
#LBPSH_HOT = 3
#LBPSH_DISABLED = 4
#LBPSHV_NORMAL = 1
#LBPSHV_FOCUSED = 2
#LBPSHV_HOT = 3
#LBPSHV_DISABLED = 4
#LBPSN_NORMAL = 1
#LBPSN_FOCUSED = 2
#LBPSN_HOT = 3
#LBPSN_DISABLED = 4
#LBPSV_NORMAL = 1
#LBPSV_FOCUSED = 2
#LBPSV_HOT = 3
#LBPSV_DISABLED = 4
#LBPSI_HOT = 1
#LBPSI_HOTSELECTED = 2
#LBPSI_SELECTED = 3
#LBPSI_SELECTEDNOTFOCUS = 4
#LVP_LISTITEM = 1
#LVP_LISTGROUP = 2
#LVP_LISTDETAIL = 3
#LVP_LISTSORTEDDETAIL = 4
#LVP_EMPTYTEXT = 5
#LVP_GROUPHEADER = 6
#LVP_GROUPHEADERLINE = 7
#LVP_EXPANDBUTTON = 8
#LVP_COLLAPSEBUTTON = 9
#LVP_COLUMNDETAIL = 10
#LISS_NORMAL = 1
#LISS_HOT = 2
#LISS_SELECTED = 3
#LISS_DISABLED = 4
#LISS_SELECTEDNOTFOCUS = 5
#LISS_HOTSELECTED = 6
#LVGH_OPEN = 1
#LVGH_OPENHOT = 2
#LVGH_OPENSELECTED = 3
#LVGH_OPENSELECTEDHOT = 4
#LVGH_OPENSELECTEDNOTFOCUSED = 5
#LVGH_OPENSELECTEDNOTFOCUSEDHOT = 6
#LVGH_OPENMIXEDSELECTION = 7
#LVGH_OPENMIXEDSELECTIONHOT = 8
#LVGH_CLOSE = 9
#LVGH_CLOSEHOT = 10
#LVGH_CLOSESELECTED = 11
#LVGH_CLOSESELECTEDHOT = 12
#LVGH_CLOSESELECTEDNOTFOCUSED = 13
#LVGH_CLOSESELECTEDNOTFOCUSEDHOT = 14
#LVGH_CLOSEMIXEDSELECTION = 15
#LVGH_CLOSEMIXEDSELECTIONHOT = 16
#LVGHL_OPEN = 1
#LVGHL_OPENHOT = 2
#LVGHL_OPENSELECTED = 3
#LVGHL_OPENSELECTEDHOT = 4
#LVGHL_OPENSELECTEDNOTFOCUSED = 5
#LVGHL_OPENSELECTEDNOTFOCUSEDHOT = 6
#LVGHL_OPENMIXEDSELECTION = 7
#LVGHL_OPENMIXEDSELECTIONHOT = 8
#LVGHL_CLOSE = 9
#LVGHL_CLOSEHOT = 10
#LVGHL_CLOSESELECTED = 11
#LVGHL_CLOSESELECTEDHOT = 12
#LVGHL_CLOSESELECTEDNOTFOCUSED = 13
#LVGHL_CLOSESELECTEDNOTFOCUSEDHOT = 14
#LVGHL_CLOSEMIXEDSELECTION = 15
#LVGHL_CLOSEMIXEDSELECTIONHOT = 16
#LVEB_NORMAL = 1
#LVEB_HOVER = 2
#LVEB_PUSHED = 3
#LVCB_NORMAL = 1
#LVCB_HOVER = 2
#LVCB_PUSHED = 3
#MENU_MENUITEM_TMSCHEMA = 1
#MENU_MENUDROPDOWN_TMSCHEMA = 2
#MENU_MENUBARITEM_TMSCHEMA = 3
#MENU_MENUBARDROPDOWN_TMSCHEMA = 4
#MENU_CHEVRON_TMSCHEMA = 5
#MENU_SEPARATOR_TMSCHEMA = 6
#MENU_BARBACKGROUND = 7
#MENU_BARITEM = 8
#MENU_POPUPBACKGROUND = 9
#MENU_POPUPBORDERS = 10
#MENU_POPUPCHECK = 11
#MENU_POPUPCHECKBACKGROUND = 12
#MENU_POPUPGUTTER = 13
#MENU_POPUPITEM = 14
#MENU_POPUPSEPARATOR = 15
#MENU_POPUPSUBMENU = 16
#MENU_SYSTEMCLOSE = 17
#MENU_SYSTEMMAXIMIZE = 18
#MENU_SYSTEMMINIMIZE = 19
#MENU_SYSTEMRESTORE = 20
#MB_ACTIVE = 1
#MB_INACTIVE = 2
#MBI_NORMAL = 1
#MBI_HOT = 2
#MBI_PUSHED = 3
#MBI_DISABLED = 4
#MBI_DISABLEDHOT = 5
#MBI_DISABLEDPUSHED = 6
#MC_CHECKMARKNORMAL = 1
#MC_CHECKMARKDISABLED = 2
#MC_BULLETNORMAL = 3
#MC_BULLETDISABLED = 4
#MCB_DISABLED = 1
#MCB_NORMAL = 2
#MCB_BITMAP = 3
#MPI_NORMAL = 1
#MPI_HOT = 2
#MPI_DISABLED = 3
#MPI_DISABLEDHOT = 4
#MSM_NORMAL = 1
#MSM_DISABLED = 2
#MSYSC_NORMAL = 1
#MSYSC_DISABLED = 2
#MSYSMX_NORMAL = 1
#MSYSMX_DISABLED = 2
#MSYSMN_NORMAL = 1
#MSYSMN_DISABLED = 2
#MSYSR_NORMAL = 1
#MSYSR_DISABLED = 2
#NAV_BACKBUTTON = 1
#NAV_FORWARDBUTTON = 2
#NAV_MENUBUTTON = 3
#NAV_BB_NORMAL = 1
#NAV_BB_HOT = 2
#NAV_BB_PRESSED = 3
#NAV_BB_DISABLED = 4
#NAV_FB_NORMAL = 1
#NAV_FB_HOT = 2
#NAV_FB_PRESSED = 3
#NAV_FB_DISABLED = 4
#NAV_MB_NORMAL = 1
#NAV_MB_HOT = 2
#NAV_MB_PRESSED = 3
#NAV_MB_DISABLED = 4
#PP_BAR = 1
#PP_BARVERT = 2
#PP_CHUNK = 3
#PP_CHUNKVERT = 4
#PP_FILL = 5
#PP_FILLVERT = 6
#PP_PULSEOVERLAY = 7
#PP_MOVEOVERLAY = 8
#PP_PULSEOVERLAYVERT = 9
#PP_MOVEOVERLAYVERT = 10
#PP_TRANSPARENTBAR = 11
#PP_TRANSPARENTBARVERT = 12
#PBBS_NORMAL = 1
#PBBS_PARTIAL = 2
#PBBVS_NORMAL = 1
#PBBVS_PARTIAL = 2
#PBFS_NORMAL = 1
#PBFS_ERROR = 2
#PBFS_PAUSED = 3
#PBFS_PARTIAL = 4
#PBFVS_NORMAL = 1
#PBFVS_ERROR = 2
#PBFVS_PAUSED = 3
#PBFVS_PARTIAL = 4
#RP_GRIPPER = 1
#RP_GRIPPERVERT = 2
#RP_BAND = 3
#RP_CHEVRON = 4
#RP_CHEVRONVERT = 5
#RP_BACKGROUND = 6
#RP_SPLITTER = 7
#RP_SPLITTERVERT = 8
#CHEVS_NORMAL = 1
#CHEVS_HOT = 2
#CHEVS_PRESSED = 3
#CHEVSV_NORMAL = 1
#CHEVSV_HOT = 2
#CHEVSV_PRESSED = 3
#SPLITS_NORMAL = 1
#SPLITS_HOT = 2
#SPLITS_PRESSED = 3
#SPLITSV_NORMAL = 1
#SPLITSV_HOT = 2
#SPLITSV_PRESSED = 3
#SBP_ARROWBTN = 1
#SBP_THUMBBTNHORZ = 2
#SBP_THUMBBTNVERT = 3
#SBP_LOWERTRACKHORZ = 4
#SBP_UPPERTRACKHORZ = 5
#SBP_LOWERTRACKVERT = 6
#SBP_UPPERTRACKVERT = 7
#SBP_GRIPPERHORZ = 8
#SBP_GRIPPERVERT = 9
#SBP_SIZEBOX = 10
#SBP_SIZEBOXBKGND = 11
#ABS_UPNORMAL = 1
#ABS_UPHOT = 2
#ABS_UPPRESSED = 3
#ABS_UPDISABLED = 4
#ABS_DOWNNORMAL = 5
#ABS_DOWNHOT = 6
#ABS_DOWNPRESSED = 7
#ABS_DOWNDISABLED = 8
#ABS_LEFTNORMAL = 9
#ABS_LEFTHOT = 10
#ABS_LEFTPRESSED = 11
#ABS_LEFTDISABLED = 12
#ABS_RIGHTNORMAL = 13
#ABS_RIGHTHOT = 14
#ABS_RIGHTPRESSED = 15
#ABS_RIGHTDISABLED = 16
#ABS_UPHOVER = 17
#ABS_DOWNHOVER = 18
#ABS_LEFTHOVER = 19
#ABS_RIGHTHOVER = 20
#SCRBS_NORMAL = 1
#SCRBS_HOT = 2
#SCRBS_PRESSED = 3
#SCRBS_DISABLED = 4
#SCRBS_HOVER = 5
#SZB_RIGHTALIGN = 1
#SZB_LEFTALIGN = 2
#SZB_TOPRIGHTALIGN = 3
#SZB_TOPLEFTALIGN = 4
#SZB_HALFBOTTOMRIGHTALIGN = 5
#SZB_HALFBOTTOMLEFTALIGN = 6
#SZB_HALFTOPRIGHTALIGN = 7
#SZB_HALFTOPLEFTALIGN = 8
#SPNP_UP = 1
#SPNP_DOWN = 2
#SPNP_UPHORZ = 3
#SPNP_DOWNHORZ = 4
#UPS_NORMAL = 1
#UPS_HOT = 2
#UPS_PRESSED = 3
#UPS_DISABLED = 4
#DNS_NORMAL = 1
#DNS_HOT = 2
#DNS_PRESSED = 3
#DNS_DISABLED = 4
#UPHZS_NORMAL = 1
#UPHZS_HOT = 2
#UPHZS_PRESSED = 3
#UPHZS_DISABLED = 4
#DNHZS_NORMAL = 1
#DNHZS_HOT = 2
#DNHZS_PRESSED = 3
#DNHZS_DISABLED = 4
#SP_PANE = 1
#SP_GRIPPERPANE = 2
#SP_GRIPPER = 3
#TABP_TABITEM = 1
#TABP_TABITEMLEFTEDGE = 2
#TABP_TABITEMRIGHTEDGE = 3
#TABP_TABITEMBOTHEDGE = 4
#TABP_TOPTABITEM = 5
#TABP_TOPTABITEMLEFTEDGE = 6
#TABP_TOPTABITEMRIGHTEDGE = 7
#TABP_TOPTABITEMBOTHEDGE = 8
#TABP_PANE = 9
#TABP_BODY = 10
#TABP_AEROWIZARDBODY = 11
#TIS_NORMAL = 1
#TIS_HOT = 2
#TIS_SELECTED = 3
#TIS_DISABLED = 4
#TIS_FOCUSED = 5
#TILES_NORMAL = 1
#TILES_HOT = 2
#TILES_SELECTED = 3
#TILES_DISABLED = 4
#TILES_FOCUSED = 5
#TIRES_NORMAL = 1
#TIRES_HOT = 2
#TIRES_SELECTED = 3
#TIRES_DISABLED = 4
#TIRES_FOCUSED = 5
#TIBES_NORMAL = 1
#TIBES_HOT = 2
#TIBES_SELECTED = 3
#TIBES_DISABLED = 4
#TIBES_FOCUSED = 5
#TTIS_NORMAL = 1
#TTIS_HOT = 2
#TTIS_SELECTED = 3
#TTIS_DISABLED = 4
#TTIS_FOCUSED = 5
#TTILES_NORMAL = 1
#TTILES_HOT = 2
#TTILES_SELECTED = 3
#TTILES_DISABLED = 4
#TTILES_FOCUSED = 5
#TTIRES_NORMAL = 1
#TTIRES_HOT = 2
#TTIRES_SELECTED = 3
#TTIRES_DISABLED = 4
#TTIRES_FOCUSED = 5
#TTIBES_NORMAL = 1
#TTIBES_HOT = 2
#TTIBES_SELECTED = 3
#TTIBES_DISABLED = 4
#TTIBES_FOCUSED = 5
#TDLG_PRIMARYPANEL = 1
#TDLG_MAININSTRUCTIONPANE = 2
#TDLG_MAINICON = 3
#TDLG_CONTENTPANE = 4
#TDLG_CONTENTICON = 5
#TDLG_EXPANDEDCONTENT = 6
#TDLG_COMMANDLINKPANE = 7
#TDLG_SECONDARYPANEL = 8
#TDLG_CONTROLPANE = 9
#TDLG_BUTTONSECTION = 10
#TDLG_BUTTONWRAPPER = 11
#TDLG_EXPANDOTEXT = 12
#TDLG_EXPANDOBUTTON = 13
#TDLG_VERIFICATIONTEXT = 14
#TDLG_FOOTNOTEPANE = 15
#TDLG_FOOTNOTEAREA = 16
#TDLG_FOOTNOTESEPARATOR = 17
#TDLG_EXPANDEDFOOTERAREA = 18
#TDLG_PROGRESSBAR = 19
#TDLG_IMAGEALIGNMENT = 20
#TDLG_RADIOBUTTONPANE = 21
#TDLGCPS_STANDALONE = 1
#TDLGEBS_NORMAL = 1
#TDLGEBS_HOVER = 2
#TDLGEBS_PRESSED = 3
#TDLGEBS_EXPANDEDNORMAL = 4
#TDLGEBS_EXPANDEDHOVER = 5
#TDLGEBS_EXPANDEDPRESSED = 6
#TDLGEBS_NORMALDISABLED = 7
#TDLGEBS_EXPANDEDDISABLED = 8
#TEXT_MAININSTRUCTION = 1
#TEXT_INSTRUCTION = 2
#TEXT_BODYTITLE = 3
#TEXT_BODYTEXT = 4
#TEXT_SECONDARYTEXT = 5
#TEXT_HYPERLINKTEXT = 6
#TEXT_EXPANDED = 7
#TEXT_LABEL = 8
#TEXT_CONTROLLABEL = 9
#TS_HYPERLINK_NORMAL = 1
#TS_HYPERLINK_HOT = 2
#TS_HYPERLINK_PRESSED = 3
#TS_HYPERLINK_DISABLED = 4
#TS_CONTROLLABEL_NORMAL = 1
#TS_CONTROLLABEL_DISABLED = 2
#TP_BUTTON = 1
#TP_DROPDOWNBUTTON = 2
#TP_SPLITBUTTON = 3
#TP_SPLITBUTTONDROPDOWN = 4
#TP_SEPARATOR = 5
#TP_SEPARATORVERT = 6
#TP_DROPDOWNBUTTONGLYPH = 7
#TS_NORMAL = 1
#TS_HOT = 2
#TS_PRESSED = 3
#TS_DISABLED = 4
#TS_CHECKED = 5
#TS_HOTCHECKED = 6
#TS_NEARHOT = 7
#TS_OTHERSIDEHOT = 8
#TTP_STANDARD = 1
#TTP_STANDARDTITLE = 2
#TTP_BALLOON = 3
#TTP_BALLOONTITLE = 4
#TTP_CLOSE = 5
#TTP_BALLOONSTEM = 6
#TTP_WRENCH = 7
#TTCS_NORMAL = 1
#TTCS_HOT = 2
#TTCS_PRESSED = 3
#TTSS_NORMAL = 1
#TTSS_LINK = 2
#TTBS_NORMAL = 1
#TTBS_LINK = 2
#TTBSS_POINTINGUPLEFTWALL = 1
#TTBSS_POINTINGUPCENTERED = 2
#TTBSS_POINTINGUPRIGHTWALL = 3
#TTBSS_POINTINGDOWNRIGHTWALL = 4
#TTBSS_POINTINGDOWNCENTERED = 5
#TTBSS_POINTINGDOWNLEFTWALL = 6
#TTWS_NORMAL = 1
#TTWS_HOT = 2
#TTWS_PRESSED = 3
#TKP_TRACK = 1
#TKP_TRACKVERT = 2
#TKP_THUMB = 3
#TKP_THUMBBOTTOM = 4
#TKP_THUMBTOP = 5
#TKP_THUMBVERT = 6
#TKP_THUMBLEFT = 7
#TKP_THUMBRIGHT = 8
#TKP_TICS = 9
#TKP_TICSVERT = 10
#TKS_NORMAL = 1
#TRS_NORMAL = 1
#TRVS_NORMAL = 1
#TUS_NORMAL = 1
#TUS_HOT = 2
#TUS_PRESSED = 3
#TUS_FOCUSED = 4
#TUS_DISABLED = 5
#TUBS_NORMAL = 1
#TUBS_HOT = 2
#TUBS_PRESSED = 3
#TUBS_FOCUSED = 4
#TUBS_DISABLED = 5
#TUTS_NORMAL = 1
#TUTS_HOT = 2
#TUTS_PRESSED = 3
#TUTS_FOCUSED = 4
#TUTS_DISABLED = 5
#TUVS_NORMAL = 1
#TUVS_HOT = 2
#TUVS_PRESSED = 3
#TUVS_FOCUSED = 4
#TUVS_DISABLED = 5
#TUVLS_NORMAL = 1
#TUVLS_HOT = 2
#TUVLS_PRESSED = 3
#TUVLS_FOCUSED = 4
#TUVLS_DISABLED = 5
#TUVRS_NORMAL = 1
#TUVRS_HOT = 2
#TUVRS_PRESSED = 3
#TUVRS_FOCUSED = 4
#TUVRS_DISABLED = 5
#TSS_NORMAL = 1
#TSVS_NORMAL = 1
#TVP_TREEITEM = 1
#TVP_GLYPH = 2
#TVP_BRANCH = 3
#TVP_HOTGLYPH = 4
#TREIS_NORMAL = 1
#TREIS_HOT = 2
#TREIS_SELECTED = 3
#TREIS_DISABLED = 4
#TREIS_SELECTEDNOTFOCUS = 5
#TREIS_HOTSELECTED = 6
#GLPS_CLOSED = 1
#GLPS_OPENED = 2
#HGLPS_CLOSED = 1
#HGLPS_OPENED = 2
#WP_CAPTION = 1
#WP_SMALLCAPTION = 2
#WP_MINCAPTION = 3
#WP_SMALLMINCAPTION = 4
#WP_MAXCAPTION = 5
#WP_SMALLMAXCAPTION = 6
#WP_FRAMELEFT = 7
#WP_FRAMERIGHT = 8
#WP_FRAMEBOTTOM = 9
#WP_SMALLFRAMELEFT = 10
#WP_SMALLFRAMERIGHT = 11
#WP_SMALLFRAMEBOTTOM = 12
#WP_SYSBUTTON = 13
#WP_MDISYSBUTTON = 14
#WP_MINBUTTON = 15
#WP_MDIMINBUTTON = 16
#WP_MAXBUTTON = 17
#WP_CLOSEBUTTON = 18
#WP_SMALLCLOSEBUTTON = 19
#WP_MDICLOSEBUTTON = 20
#WP_RESTOREBUTTON = 21
#WP_MDIRESTOREBUTTON = 22
#WP_HELPBUTTON = 23
#WP_MDIHELPBUTTON = 24
#WP_HORZSCROLL = 25
#WP_HORZTHUMB = 26
#WP_VERTSCROLL = 27
#WP_VERTTHUMB = 28
#WP_DIALOG = 29
#WP_CAPTIONSIZINGTEMPLATE = 30
#WP_SMALLCAPTIONSIZINGTEMPLATE = 31
#WP_FRAMELEFTSIZINGTEMPLATE = 32
#WP_SMALLFRAMELEFTSIZINGTEMPLATE = 33
#WP_FRAMERIGHTSIZINGTEMPLATE = 34
#WP_SMALLFRAMERIGHTSIZINGTEMPLATE = 35
#WP_FRAMEBOTTOMSIZINGTEMPLATE = 36
#WP_SMALLFRAMEBOTTOMSIZINGTEMPLATE = 37
#WP_FRAME = 38
#WP_BORDER = 39
#FS_ACTIVE = 1
#FS_INACTIVE = 2
#CS_ACTIVE = 1
#CS_INACTIVE = 2
#CS_DISABLED = 3
#MXCS_ACTIVE = 1
#MXCS_INACTIVE = 2
#MXCS_DISABLED = 3
#MNCS_ACTIVE = 1
#MNCS_INACTIVE = 2
#MNCS_DISABLED = 3
#HSS_NORMAL = 1
#HSS_HOT = 2
#HSS_PUSHED = 3
#HSS_DISABLED = 4
#HTS_NORMAL = 1
#HTS_HOT = 2
#HTS_PUSHED = 3
#HTS_DISABLED = 4
#VSS_NORMAL = 1
#VSS_HOT = 2
#VSS_PUSHED = 3
#VSS_DISABLED = 4
#VTS_NORMAL = 1
#VTS_HOT = 2
#VTS_PUSHED = 3
#VTS_DISABLED = 4
#SBS_NORMAL = 1
#SBS_HOT = 2
#SBS_PUSHED = 3
#SBS_DISABLED = 4
#MINBS_NORMAL = 1
#MINBS_HOT = 2
#MINBS_PUSHED = 3
#MINBS_DISABLED = 4
#MAXBS_NORMAL = 1
#MAXBS_HOT = 2
#MAXBS_PUSHED = 3
#MAXBS_DISABLED = 4
#RBS_NORMAL = 1
#RBS_HOT = 2
#RBS_PUSHED = 3
#RBS_DISABLED = 4
#HBS_NORMAL = 1
#HBS_HOT = 2
#HBS_PUSHED = 3
#HBS_DISABLED = 4
#CBS_NORMAL = 1
#CBS_HOT = 2
#CBS_PUSHED = 3
#CBS_DISABLED = 4
#TMT_RESERVEDLOW = 0
#TMT_RESERVEDHIGH = 7999
#TMT_DIBDATA = 2
#TMT_GLYPHDIBDATA = 8
#TMT_ENUM = 200
#TMT_STRING = 201
#TMT_INT = 202
#TMT_BOOL = 203
#TMT_COLOR = 204
#TMT_MARGINS = 205
#TMT_FILENAME = 206
#TMT_SIZE = 207
#TMT_POSITION = 208
#TMT_RECT = 209
#TMT_FONT = 210
#TMT_INTLIST = 211
#TMT_HBITMAP = 212
#TMT_DISKSTREAM = 213
#TMT_STREAM = 214
#TMT_BITMAPREF = 215
#TMT_COLORSCHEMES = 401
#TMT_SIZES = 402
#TMT_CHARSET = 403
#TMT_NAME = 600
#TMT_DISPLAYNAME = 601
#TMT_TOOLTIP = 602
#TMT_COMPANY = 603
#TMT_AUTHOR = 604
#TMT_COPYRIGHT = 605
#TMT_URL = 606
#TMT_VERSION = 607
#TMT_DESCRIPTION = 608
#TMT_FIRST_RCSTRING_NAME = #TMT_DISPLAYNAME
#TMT_LAST_RCSTRING_NAME = #TMT_DESCRIPTION
#TMT_CAPTIONFONT = 801
#TMT_SMALLCAPTIONFONT = 802
#TMT_MENUFONT = 803
#TMT_STATUSFONT = 804
#TMT_MSGBOXFONT = 805
#TMT_ICONTITLEFONT = 806
#TMT_HEADING1FONT = 807
#TMT_HEADING2FONT = 808
#TMT_BODYFONT = 809
#TMT_FIRSTFONT = #TMT_CAPTIONFONT
#TMT_LASTFONT = #TMT_BODYFONT
#TMT_FLATMENUS = 1001
#TMT_FIRSTBOOL = #TMT_FLATMENUS
#TMT_LASTBOOL = #TMT_FLATMENUS
#TMT_SIZINGBORDERWIDTH = 1201
#TMT_SCROLLBARWIDTH = 1202
#TMT_SCROLLBARHEIGHT = 1203
#TMT_CAPTIONBARWIDTH = 1204
#TMT_CAPTIONBARHEIGHT = 1205
#TMT_SMCAPTIONBARWIDTH = 1206
#TMT_SMCAPTIONBARHEIGHT = 1207
#TMT_MENUBARWIDTH = 1208
#TMT_MENUBARHEIGHT = 1209
#TMT_PADDEDBORDERWIDTH = 1210
#TMT_FIRSTSIZE = #TMT_SIZINGBORDERWIDTH
#TMT_LASTSIZE = #TMT_PADDEDBORDERWIDTH
#TMT_MINCOLORDEPTH = 1301
#TMT_FIRSTINT = #TMT_MINCOLORDEPTH
#TMT_LASTINT = #TMT_MINCOLORDEPTH
#TMT_CSSNAME = 1401
#TMT_XMLNAME = 1402
#TMT_LASTUPDATED = 1403
#TMT_ALIAS = 1404
#TMT_FIRSTSTRING = #TMT_CSSNAME
#TMT_LASTSTRING = #TMT_ALIAS
#TMT_SCROLLBAR = 1601
#TMT_BACKGROUND = 1602
#TMT_ACTIVECAPTION = 1603
#TMT_INACTIVECAPTION = 1604
#TMT_MENU = 1605
#TMT_WINDOW = 1606
#TMT_WINDOWFRAME = 1607
#TMT_MENUTEXT = 1608
#TMT_WINDOWTEXT = 1609
#TMT_CAPTIONTEXT = 1610
#TMT_ACTIVEBORDER = 1611
#TMT_INACTIVEBORDER = 1612
#TMT_APPWORKSPACE = 1613
#TMT_HIGHLIGHT = 1614
#TMT_HIGHLIGHTTEXT = 1615
#TMT_BTNFACE = 1616
#TMT_BTNSHADOW = 1617
#TMT_GRAYTEXT = 1618
#TMT_BTNTEXT = 1619
#TMT_INACTIVECAPTIONTEXT = 1620
#TMT_BTNHIGHLIGHT = 1621
#TMT_DKSHADOW3D = 1622
#TMT_LIGHT3D = 1623
#TMT_INFOTEXT = 1624
#TMT_INFOBK = 1625
#TMT_BUTTONALTERNATEFACE = 1626
#TMT_HOTTRACKING = 1627
#TMT_GRADIENTACTIVECAPTION = 1628
#TMT_GRADIENTINACTIVECAPTION = 1629
#TMT_MENUHILIGHT = 1630
#TMT_MENUBAR = 1631
#TMT_FIRSTCOLOR = #TMT_SCROLLBAR
#TMT_LASTCOLOR = #TMT_MENUBAR
#TMT_FROMHUE1 = 1801
#TMT_FROMHUE2 = 1802
#TMT_FROMHUE3 = 1803
#TMT_FROMHUE4 = 1804
#TMT_FROMHUE5 = 1805
#TMT_TOHUE1 = 1806
#TMT_TOHUE2 = 1807
#TMT_TOHUE3 = 1808
#TMT_TOHUE4 = 1809
#TMT_TOHUE5 = 1810
#TMT_FROMCOLOR1 = 2001
#TMT_FROMCOLOR2 = 2002
#TMT_FROMCOLOR3 = 2003
#TMT_FROMCOLOR4 = 2004
#TMT_FROMCOLOR5 = 2005
#TMT_TOCOLOR1 = 2006
#TMT_TOCOLOR2 = 2007
#TMT_TOCOLOR3 = 2008
#TMT_TOCOLOR4 = 2009
#TMT_TOCOLOR5 = 2010
#TMT_TRANSPARENT = 2201
#TMT_AUTOSIZE = 2202
#TMT_BORDERONLY = 2203
#TMT_COMPOSITED = 2204
#TMT_BGFILL = 2205
#TMT_GLYPHTRANSPARENT = 2206
#TMT_GLYPHONLY = 2207
#TMT_ALWAYSSHOWSIZINGBAR = 2208
#TMT_MIRRORIMAGE = 2209
#TMT_UNIFORMSIZING = 2210
#TMT_INTEGRALSIZING = 2211
#TMT_SOURCEGROW = 2212
#TMT_SOURCESHRINK = 2213
#TMT_DRAWBORDERS = 2214
#TMT_NOETCHEDEFFECT = 2215
#TMT_TEXTAPPLYOVERLAY = 2216
#TMT_TEXTGLOW = 2217
#TMT_TEXTITALIC = 2218
#TMT_COMPOSITEDOPAQUE = 2219
#TMT_LOCALIZEDMIRRORIMAGE = 2220
#TMT_IMAGECOUNT = 2401
#TMT_ALPHALEVEL = 2402
#TMT_BORDERSIZE = 2403
#TMT_ROUNDCORNERWIDTH = 2404
#TMT_ROUNDCORNERHEIGHT = 2405
#TMT_GRADIENTRATIO1 = 2406
#TMT_GRADIENTRATIO2 = 2407
#TMT_GRADIENTRATIO3 = 2408
#TMT_GRADIENTRATIO4 = 2409
#TMT_GRADIENTRATIO5 = 2410
#TMT_PROGRESSCHUNKSIZE = 2411
#TMT_PROGRESSSPACESIZE = 2412
#TMT_SATURATION = 2413
#TMT_TEXTBORDERSIZE = 2414
#TMT_ALPHATHRESHOLD = 2415
#TMT_WIDTH = 2416
#TMT_HEIGHT = 2417
#TMT_GLYPHINDEX = 2418
#TMT_TRUESIZESTRETCHMARK = 2419
#TMT_MINDPI1 = 2420
#TMT_MINDPI2 = 2421
#TMT_MINDPI3 = 2422
#TMT_MINDPI4 = 2423
#TMT_MINDPI5 = 2424
#TMT_TEXTGLOWSIZE = 2425
#TMT_FRAMESPERSECOND = 2426
#TMT_PIXELSPERFRAME = 2427
#TMT_ANIMATIONDELAY = 2428
#TMT_GLOWINTENSITY = 2429
#TMT_OPACITY = 2430
#TMT_COLORIZATIONCOLOR = 2431
#TMT_COLORIZATIONOPACITY = 2432
#TMT_MINDPI6 = 2433
#TMT_MINDPI7 = 2434
#TMT_GLYPHFONT = 2601
#TMT_IMAGEFILE = 3001
#TMT_IMAGEFILE1 = 3002
#TMT_IMAGEFILE2 = 3003
#TMT_IMAGEFILE3 = 3004
#TMT_IMAGEFILE4 = 3005
#TMT_IMAGEFILE5 = 3006
#TMT_GLYPHIMAGEFILE = 3008
#TMT_IMAGEFILE6 = 3009
#TMT_IMAGEFILE7 = 3010
#TMT_TEXT = 3201
#TMT_CLASSICVALUE = 3202
#TMT_OFFSET = 3401
#TMT_TEXTSHADOWOFFSET = 3402
#TMT_MINSIZE = 3403
#TMT_MINSIZE1 = 3404
#TMT_MINSIZE2 = 3405
#TMT_MINSIZE3 = 3406
#TMT_MINSIZE4 = 3407
#TMT_MINSIZE5 = 3408
#TMT_NORMALSIZE = 3409
#TMT_MINSIZE6 = 3410
#TMT_MINSIZE7 = 3411
#TMT_SIZINGMARGINS = 3601
#TMT_CONTENTMARGINS = 3602
#TMT_CAPTIONMARGINS = 3603
#TMT_BORDERCOLOR = 3801
#TMT_FILLCOLOR = 3802
#TMT_TEXTCOLOR = 3803
#TMT_EDGELIGHTCOLOR = 3804
#TMT_EDGEHIGHLIGHTCOLOR = 3805
#TMT_EDGESHADOWCOLOR = 3806
#TMT_EDGEDKSHADOWCOLOR = 3807
#TMT_EDGEFILLCOLOR = 3808
#TMT_TRANSPARENTCOLOR = 3809
#TMT_GRADIENTCOLOR1 = 3810
#TMT_GRADIENTCOLOR2 = 3811
#TMT_GRADIENTCOLOR3 = 3812
#TMT_GRADIENTCOLOR4 = 3813
#TMT_GRADIENTCOLOR5 = 3814
#TMT_SHADOWCOLOR = 3815
#TMT_GLOWCOLOR = 3816
#TMT_TEXTBORDERCOLOR = 3817
#TMT_TEXTSHADOWCOLOR = 3818
#TMT_GLYPHTEXTCOLOR = 3819
#TMT_GLYPHTRANSPARENTCOLOR = 3820
#TMT_FILLCOLORHINT = 3821
#TMT_BORDERCOLORHINT = 3822
#TMT_ACCENTCOLORHINT = 3823
#TMT_TEXTCOLORHINT = 3824
#TMT_HEADING1TEXTCOLOR = 3825
#TMT_HEADING2TEXTCOLOR = 3826
#TMT_BODYTEXTCOLOR = 3827
#TMT_BGTYPE = 4001
#TMT_BORDERTYPE = 4002
#TMT_FILLTYPE = 4003
#TMT_SIZINGTYPE = 4004
#TMT_HALIGN = 4005
#TMT_CONTENTALIGNMENT = 4006
#TMT_VALIGN = 4007
#TMT_OFFSETTYPE = 4008
#TMT_ICONEFFECT = 4009
#TMT_TEXTSHADOWTYPE = 4010
#TMT_IMAGELAYOUT = 4011
#TMT_GLYPHTYPE = 4012
#TMT_IMAGESELECTTYPE = 4013
#TMT_GLYPHFONTSIZINGTYPE = 4014
#TMT_TRUESIZESCALINGTYPE = 4015
#TMT_USERPICTURE = 5001
#TMT_DEFAULTPANESIZE = 5002
#TMT_BLENDCOLOR = 5003
#TMT_CUSTOMSPLITRECT = 5004
#TMT_ANIMATIONBUTTONRECT = 5005
#TMT_ANIMATIONDURATION = 5006
#TMT_TRANSITIONDURATIONS = 6000
#TMT_SCALEDBACKGROUND = 7001
#TMT_ATLASIMAGE = 8000
#TMT_ATLASINPUTIMAGE = 8001
#TMT_ATLASRECT = 8002
Re: Requested API Structure and constants
Posted: Tue Feb 28, 2023 8:08 pm
by jacdelad
Code: Select all
#TD_WARNING_ICON = -1
#TD_ERROR_ICON = -2
#TD_INFORMATION_ICON = -3
#TD_SHIELD_ICON = -4
#TDF_USE_COMMAND_LINKS = $10
#TDF_ENABLE_HYPERLINKS = $1
#TDF_USE_HICON_MAIN = $2
#TDF_USE_HICON_FOOTER = $4
#TDF_EXPAND_FOOTER_AREA = $40
#TDF_EXPANDED_BY_DEFAULT = $80
#TDF_VERIFICATION_FLAG_CHECKED = $100
#TDF_SHOW_PROGRESS_BAR = $200
#TDF_SHOW_MARQUEE_PROGRESS_BAR = $400
#TDF_CALLBACK_TIMER = $800
#TDF_POSITION_RELATIVE_TO_WINDOW = $1000
#TDF_NO_DEFAULT_RADIO_BUTTON = $4000
#TDF_CAN_BE_MINIMIZED = $8000
#TD_ICON_NONE = 0
#TD_ICON_SHIELD_COLORED_GREY = 65527
#TD_ICON_SHIELD_OK_COLORED = 65528
#TD_ICON_SHIELD_ERROR_COLORED = 65529
#TD_ICON_SHIELD_WARNING_COLORED = 65530
#TD_ICON_SHIELD_COLORED = 65531
#TD_ICON_SHIELD = 65532
#TD_ICON_SHIELD_QUESTION = 65533
#TD_ICON_ERROR = 65534
#TD_ICON_QUESTION = 65535
For Windows Vista and above, when working with TaskDialogs (I hope this request hasn't been posted before, but I couldn't find it).
Re: Requested API Structure and constants
Posted: Sun Apr 30, 2023 7:11 am
by Denis
Structure MENUITEMINFO declared in PB has to be updated, the very last item is lacking (since Windows 2000)
WINVER = 0x500 = Windows 2000
WINVER = 0x501 = Windows XP
WINVER = 0x600 = Windows Vista
WINVER = 0x601 = Windows 7
WINVER = 0x602 = Windows 8
WINVER = 0x603 = Windows Blue
WINVER = 0xA00 = Windows 10
added The lacking item, hbmpItem
C/C++ Structure using Visual Studio Community 2022 Version 17.5.1 (use hfile declarations 10.0.22621.0)
Declaration MS
winuser.h line 7866
typedef struct tagMENUITEMINFOW
{
UINT cbSize;
UINT fMask;
UINT fType; // used if MIIM_TYPE (4.0) or MIIM_FTYPE (>4.0)
UINT fState; // used if MIIM_STATE
UINT wID; // used if MIIM_ID
HMENU hSubMenu; // used if MIIM_SUBMENU
HBITMAP hbmpChecked; // used if MIIM_CHECKMARKS
HBITMAP hbmpUnchecked; // used if MIIM_CHECKMARKS
ULONG_PTR dwItemData; // used if MIIM_DATA
LPWSTR dwTypeData; // used if MIIM_TYPE (4.0) or MIIM_STRING (>4.0)
UINT cch; // used if MIIM_TYPE (4.0) or MIIM_STRING (>4.0)
#if(WINVER >= 0x0500)
HBITMAP hbmpItem; // used if MIIM_BITMAP
#endif /* WINVER >= 0x0500
} MENUITEMINFOW, FAR* LPMENUITEMINFOW;
C/C++ code using Visual Studio 2019 Version 16.7.6 (use declarations 10.0.18362.0)
Code: Select all
#include <iostream>
#include <windows.h>
#include <commCtrl.h>
#include <winuser.h>
#define PRINTF_SIZEOF(type) printf(" SizeOf( " #type " ) = %zu\n", sizeof(type))
#define PRINTF_OffsetOf(type,member) printf(" OffsetOf( " #member " ) = %zu\n", offsetof(type,member))
#define PRINTF_Normal(type) printf(" IS_INTRESOURCE( " #type " ) = %zu\n", (type))
int main()
{
#ifdef UNICODE
#if defined(_WIN64)
printf("\n");
printf("\n");
printf(" Compilation Window 64 bit - mode unicode\n");
#else
printf("\n");
printf("\n");
printf(" Compilation Window 32 bit - mode unicode\n");
#endif
/*
#if(WINVER >= 0x0500)
WINVER = 0x500 = Windows 2000
WINVER = 0x501 = Windows XP
WINVER = 0x600 = Windows Vista
WINVER = 0x601 = Windows 7
WINVER = 0x602 = Windows 8
WINVER = 0x603 = Windows Blue
WINVER = 0xA00 = Windows 10
winuser.h line 7866 version Visual Studio 2022 10.0.22621.0
typedef struct tagMENUITEMINFOW
{
UINT cbSize;
UINT fMask;
UINT fType; // used if MIIM_TYPE (4.0) or MIIM_FTYPE (>4.0)
UINT fState; // used if MIIM_STATE
UINT wID; // used if MIIM_ID
HMENU hSubMenu; // used if MIIM_SUBMENU
HBITMAP hbmpChecked; // used if MIIM_CHECKMARKS
HBITMAP hbmpUnchecked; // used if MIIM_CHECKMARKS
ULONG_PTR dwItemData; // used if MIIM_DATA
LPWSTR dwTypeData; // used if MIIM_TYPE (4.0) or MIIM_STRING (>4.0)
UINT cch; // used if MIIM_TYPE (4.0) or MIIM_STRING (>4.0)
#if(WINVER >= 0x0500)
HBITMAP hbmpItem; // used if MIIM_BITMAP
#endif /* WINVER >= 0x0500
} MENUITEMINFOW, FAR* LPMENUITEMINFOW;
*/
printf("\n");
printf(" Structure MENUITEMINFO\n");
printf(" -----------------\n");
PRINTF_SIZEOF(MENUITEMINFO);
printf("\n");
PRINTF_OffsetOf(MENUITEMINFO, cbSize);
PRINTF_OffsetOf(MENUITEMINFO, fMask);
PRINTF_OffsetOf(MENUITEMINFO, fType);
PRINTF_OffsetOf(MENUITEMINFO, fState);
PRINTF_OffsetOf(MENUITEMINFO, wID);
PRINTF_OffsetOf(MENUITEMINFO, hSubMenu);
PRINTF_OffsetOf(MENUITEMINFO, hbmpChecked);
PRINTF_OffsetOf(MENUITEMINFO, hbmpUnchecked);
PRINTF_OffsetOf(MENUITEMINFO, dwItemData);
PRINTF_OffsetOf(MENUITEMINFO, dwTypeData);
PRINTF_OffsetOf(MENUITEMINFO, cch);
PRINTF_OffsetOf(MENUITEMINFO, hbmpItem);
#else
printf("You must compile in unicode mode!\n");
#endif
return 0;
}
PB 6.02 b2 code
Code: Select all
CompilerSelect #PB_Compiler_Processor
CompilerCase #PB_Processor_x86
Structure My_MENUITEMINFO
cbSize.l
fMask.l
fType.l
fState.l
wID.l
hSubMenu.i
hbmpChecked.i
hbmpUnchecked.i
dwItemData.i
*dwTypeData
cch.l
hbmpItem.i
EndStructure
CompilerCase #PB_Processor_x64
Structure My_MENUITEMINFO
cbSize.l
fMask.l
fType.l
fState.l
wID.l
PB_Alignment1.b[4]
hSubMenu.i
hbmpChecked.i
hbmpUnchecked.i
dwItemData.i
*dwTypeData
cch.l
PB_Alignment2.b[4]
hbmpItem.i
EndStructure
CompilerEndSelect
CompilerSelect #PB_Compiler_Processor
CompilerCase #PB_Processor_x86
Debug ""
Debug ""
Debug "Compilation Window 32 bit - mode Unicode "
Debug "---------------------------"
Debug ""
Debug "SizeOf(My_MENUITEMINFO) = " + Str(SizeOf(My_MENUITEMINFO))
Debug ""
Debug "OffsetOf( cbSize ) = " + Str(OffsetOf( My_MENUITEMINFO\cbSize ))
Debug "OffsetOf( fMask ) = " + Str(OffsetOf( My_MENUITEMINFO\fMask ))
Debug "OffsetOf( fType ) = " + Str(OffsetOf( My_MENUITEMINFO\fType ))
Debug "OffsetOf( fState ) = " + Str(OffsetOf( My_MENUITEMINFO\fState ))
Debug "OffsetOf( wID ) = " + Str(OffsetOf( My_MENUITEMINFO\wID ))
Debug "OffsetOf( hSubMenu ) = " + Str(OffsetOf( My_MENUITEMINFO\hSubMenu ))
Debug "OffsetOf( hbmpChecked ) = " + Str(OffsetOf( My_MENUITEMINFO\hbmpChecked ))
Debug "OffsetOf( hbmpUnchecked ) = " + Str(OffsetOf( My_MENUITEMINFO\hbmpUnchecked ))
Debug "OffsetOf( dwItemData ) = " + Str(OffsetOf( My_MENUITEMINFO\ dwItemData ))
Debug "OffsetOf( *dwTypeData ) = " + Str(OffsetOf( My_MENUITEMINFO\dwTypeData ))
Debug "OffsetOf( cch ) = " + Str(OffsetOf( My_MENUITEMINFO\cch ))
Debug "OffsetOf( hbmpItem ) = " + Str(OffsetOf( My_MENUITEMINFO\hbmpItem ))
CompilerCase #PB_Processor_x64
Debug ""
Debug ""
Debug "Compilation Window 64 bit - mode Unicode "
Debug "---------------------------"
Debug ""
Debug "SizeOf(My_MENUITEMINFO) = " + Str(SizeOf(My_MENUITEMINFO))
Debug ""
Debug "OffsetOf( cbSize ) = " + Str(OffsetOf( My_MENUITEMINFO\cbSize ))
Debug "OffsetOf( fMask ) = " + Str(OffsetOf( My_MENUITEMINFO\fMask ))
Debug "OffsetOf( fType ) = " + Str(OffsetOf( My_MENUITEMINFO\fType ))
Debug "OffsetOf( fState ) = " + Str(OffsetOf( My_MENUITEMINFO\fState ))
Debug "OffsetOf( wID ) = " + Str(OffsetOf( My_MENUITEMINFO\wID ))
; Debug "OffsetOf( PB_Alignment1 ) = " + Str(OffsetOf( My_MENUITEMINFO\PB_Alignment1 ))
Debug "OffsetOf( hSubMenu ) = " + Str(OffsetOf( My_MENUITEMINFO\hSubMenu ))
Debug "OffsetOf( hbmpChecked ) = " + Str(OffsetOf( My_MENUITEMINFO\hbmpChecked ))
Debug "OffsetOf( hbmpUnchecked ) = " + Str(OffsetOf( My_MENUITEMINFO\hbmpUnchecked ))
Debug "OffsetOf( dwItemData ) = " + Str(OffsetOf( My_MENUITEMINFO\ dwItemData ))
Debug "OffsetOf( *dwTypeData ) = " + Str(OffsetOf( My_MENUITEMINFO\dwTypeData ))
Debug "OffsetOf( cch ) = " + Str(OffsetOf( My_MENUITEMINFO\cch ))
; Debug "OffsetOf( PB_Alignment2 ) = " + Str(OffsetOf( My_MENUITEMINFO\PB_Alignment2 ))
Debug "OffsetOf( hbmpItem ) = " + Str(OffsetOf( My_MENUITEMINFO\hbmpItem ))
CompilerEndSelect
result in x86 mode :
Visual studio result
PB result
result in x64 mode :
Visual studio result
PB result
