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

Code: Select all

#KEYEVENTF_UNICODE = 4
#KEYEVENTF_SCANCODE = 8
https://github.com/tpn/winsdk-10/blob/m ... /WinUser.h

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
Image

PB result
Image


result in x64 mode :
Visual studio result
Image

PB result
Image