Unit ComCtl98 |
////////////////////////////////////////////////////////////////////////////// COMCTL98 // ////////////////////////////////////////////////////////////////////////////// Enhanced COMMCTRL for D3 // * some constants and functions forgoten by Borland,... // ////////////////////////////////////////////////////////////////////////////// Version 1.34 // Date de création : 10/03/1997 // Date dernière modification : 11/03/1998 // ////////////////////////////////////////////////////////////////////////////// Jean-Luc Mattei // jlucm@club-internet.fr / jlucm@mygale.org // ////////////////////////////////////////////////////////////////////////////// REVISIONS : // // 1.10 : // * Added enhanced TreeView style // 1.20 : // * Added (some) IE4 TabControl constants // * Added IE4 ListView Constants and Functions // (Background images) // * Added IE4 DateTime Extended functions // 1.30 : * PageScroller const, type & func // * NativeFontControl const, type & func // * IPAdress const, Type & Func // * FlatScrollBar API's // * New New IE4 ListView & TreeView Message // * Begining of commctl98 (D3) & commctrlEx (D2) unification // * More TreeView const // 1.31 : * PToolTipText Defined for D2 / BC++Buider (thanks to Alper Yazgan)// 1.32 : * New Messages and structures for ListView control // TNMItemActivate instead of TNMListView // TNMLvStateChange and LVN_ODSTATECHANGED notification // iSubItem added to TNMLVCustomDraw structure // 1.33 : * Some errors corrected (D2) // 1.34 : * Added IE4 Toolbar extensions // * IE4 WM_Notify Generic structures // //////////////////////////////////////////////////////////////////////////////
Classes |
Functions |
DateTime_GetMonthCalFont - SNDMSG(hdp, DTM_SETMCFONT, (WPARAM)hfont, (LPARAM)fRedraw
DateTime_SetMonthCalFont -
First_IPAdress - #define MAKEIPADDRESS(b1,b2,b3,b4) ((LPARAM)(((DWORD)(b1)<<24)+((DWORD)(b2)<<16)+((DWORD)(b3)<<8)+((DWORD)(b4)))) Get individual number
FlatSB_EnableScrollBar -
FlatSB_GetScrollInfo -
FlatSB_GetScrollPos -
FlatSB_GetScrollProp -
FlatSB_GetScrollRange -
FlatSB_SetScrollInfo -
FlatSB_SetScrollPos -
FlatSB_SetScrollProp -
FlatSB_SetScrollRange -
FlatSB_ShowScrollBar -
Fourth_IPAdress - #define THIRD_IPADDRESS(x) ((x>>8) & 0xff
Header_CreateDragImage - (int)SNDMSG((hwnd), HDM_ORDERTOINDEX, (WPARAM)i, 0
Header_GetImageList - (HIMAGELIST)SNDMSG((hwnd), HDM_SETIMAGELIST, 0, (LPARAM)himl
Header_GetItemEx -
Header_GetItemRect -
Header_GetOrderArray - (HIMAGELIST)SNDMSG((hwnd), HDM_CREATEDRAGIMAGE, (WPARAM)i, 0
Header_InsertItemEx -
Header_OrderToIndex - (HIMAGELIST)SNDMSG((hwnd), HDM_GETIMAGELIST, 0, 0
Header_SetHotDivider - (BOOL)SNDMSG((hwnd), HDM_SETORDERARRAY, (WPARAM)iCount, (LPARAM)lpi) lparam = int array of size HDM_GETITEMCOUNT the array specifies the order that all items should be displayed.
Header_SetImageList - (BOOL)SNDMSG((hwnd), HDM_GETITEMRECT, (WPARAM)iItem, (LPARAM)lprc
Header_SetItemEx -
Header_SetOrderArray - (BOOL)SNDMSG((hwnd), HDM_GETORDERARRAY, (WPARAM)iCount, (LPARAM)lpi
InitializeFlatSB -
ListView_GetBkImage - (BOOL)SNDMSG((hwnd), LVM_SETBKIMAGE, 0, (LPARAM)plvbki
ListView_GetHoverTime - (DWORD)SendMessage((hwndLV), LVM_SETHOVERTIME, 0, dwHoverTimeMs
ListView_GetSelectionMark -
ListView_GetWorkArea - (int)SNDMSG((hwnd), LVM_GETSELECTIONMARK, 0, (LPARAM)i
ListView_SetBkImage - CoInitialize MUST BE CALLED BEFORE USING THIS FUNCTION
ListView_SetHoverTime - (BOOL)SNDMSG((hwnd), LVM_GETWORKAREA, 0, (LPARAM)(RECT FAR*)(prc
ListView_SetSelectionMark - (int)SNDMSG((hwnd), LVM_GETSELECTIONMARK, 0, 0
MakeIPAdress - #define MAKEIPRANGE(low, high) ((LPARAM)(WORD)(((BYTE)(high) << 8) + (BYTE)(low))) And this is a useful macro for making the IP Address to be passed as a LPARAM.
MakeIPRange - The following is a useful macro for passing the range values in the IPM_SETRANGE message.
Pager_ForwardMouse - (void)SNDMSG((hwnd), PGM_RECALCSIZE, 0, 0
Pager_GetBkColor - (COLORREF)SNDMSG((hwnd), PGM_SETBKCOLOR, 0, (LPARAM)clr
Pager_GetBorder - (int)SNDMSG((hwnd), PGM_SETBORDER, 0, (LPARAM)iBorder
Pager_GetButtonSize - (int)SNDMSG((hwnd), PGM_SETBUTTONSIZE, 0, (LPARAM)iSize
Pager_GetButtonState - (int)SNDMSG((hwnd), PGM_GETBUTTONSIZE, 0,0
Pager_GetPos - (int)SNDMSG((hwnd), PGM_SETPOS, 0, (LPARAM)iPos
Pager_RecalcSize - (void)SNDMSG((hwnd), PGM_SETCHILD, 0, (LPARAM)(hwndChild
Pager_SetBkColor - (void)SNDMSG((hwnd), PGM_FORWARDMOUSE, (WPARAM)(bForward), 0
Pager_SetBorder - (COLORREF)SNDMSG((hwnd), PGM_GETBKCOLOR, 0, 0
Pager_SetButtonSize - (int)SNDMSG((hwnd), PGM_GETPOS, 0, 0
Pager_SetChild -
Pager_SetPos - (int)SNDMSG((hwnd), PGM_GETBORDER, 0, 0
Second_IPAdress - #define FIRST_IPADDRESS(x) ((x>>24) & 0xff
TabCtrl_GetExtendedStyle - (DWORD)SNDMSG((hwnd), TCM_SETEXTENDEDSTYLE, 0, dw
TabCtrl_GetItemRect - (DWORD)SNDMSG((hwnd), TCM_GETEXTENDEDSTYLE, 0, 0
TabCtrl_HighlightItem -
TabCtrl_SetExtendedStyle - (BOOL)SNDMSG((hwnd), TCM_HIGHLIGHTITEM, (WPARAM)i, (LPARAM)MAKELONG (fHighlight, 0
Third_IPAdress - #define SECOND_IPADDRESS(x) ((x>>16) & 0xff
UninitializeFlatSB -
Types |
PHDItemEx
PHDItemExA
PHDItemExW
PLvBkImage
PLVBkImageA
PLVBkImageW
PNMChar
PNMClick
PNMCustomDrawInfo
PNMIPAdress
PNMItemActivate
PNMKey
PNMLVCustomDraw
PNMLvGetInfoTip
PNMLvGetInfoTipA
PNMLvGetInfoTipW
PNMLvStateChange
PNMMouse
PNMObjectNotify
PNMPgCalcSize
PNMPgScroll
PNMTBCustomDraw
PNMTBDispInfo
PNMTBDispInfoA
PNMTBDispInfoW
PNMTBGetInfoTip
PNMTBGetInfoTipA
PNMTBGetInfoTipW
PNMTBHotItem
PNMTVCustomDraw
PTBButtonInfo
PTBButtonInfoA
PTBButtonInfoW
PTBInsertMark
THDItemEx
THDItemExA
THDItemExW
TLvBkImage
TLVBkImageA
TLVBkImageW
TNMChar
TNMClick
TNMCustomDrawInfo
TNMIPAdress
TNMItemActivate
TNMKey
TNMLVCustomDraw
TNMLvGetInfoTip
TNMLvGetInfoTipA
TNMLvGetInfoTipW
TNMLvStateChange
TNMMouse
TNMObjectNotify
TNMPgCalcSize
TNMPgScroll
TNMTBCustomDraw
TNMTBDispInfo
TNMTBDispInfoA
TNMTBDispInfoW
TNMTBGetInfoTip
TNMTBGetInfoTipA
TNMTBGetInfoTipW
TNMTBHotItem
TNMTVCustomDraw
TTBButtonInfo
TTBButtonInfoA
TTBButtonInfoW
TTBInsertMark
Constants |
CCM_FIRST
CCM_GETCOLORSCHEME
CCM_GETDROPTARGET
CCM_GETUNICODEFORMAT
CCM_SETBKCOLOR
CCM_SETCOLORSCHEME
CCM_SETUNICODEFORMAT
CDDS_ITEM
CDDS_ITEMPOSTERASE
CDDS_ITEMPOSTPAINT
CDDS_ITEMPREERASE
CDDS_ITEMPREPAINT
CDDS_POSTERASE
CDDS_POSTPAINT
CDDS_PREERASE
CDDS_PREPAINT
CDDS_SUBITEM
CDDS_SUBITEMPOSTERASE
CDDS_SUBITEMPOSTPAINT
CDDS_SUBITEMPREERASE
CDDS_SUBITEMPREPAINT
CDIS_CHECKED
CDIS_DEFAULT
CDIS_DISABLED
CDIS_FOCUS
CDIS_GRAYED
CDIS_HOT
CDIS_SELECTED
CDRF_DODEFAULT
CDRF_NEWFONT
CDRF_NOTIFYITEMDRAW
CDRF_NOTIFYITEMERASE
CDRF_NOTIFYPOSTERASE
CDRF_NOTIFYPOSTPAINT
CDRF_NOTIFYSUBITEMDRAW
CDRF_SKIPDEFAULT
DTM_GETMCFONT
DTM_SETMCFONT
FSB_ENCARTA_MODE
FSB_FLAT_MODE
FSB_REGULAR_MODE
HDF_BITMAP_ON_RIGHT
HDF_IMAGE
HDI_DI_SETITEM
HDI_IMAGE
HDI_ORDER
HDM_CREATEDRAGIMAGE
HDM_GETIMAGELIST
HDM_GETITEMRECT
HDM_GETORDERARRAY
HDM_ORDERTOINDEX
HDM_SETHOTDIVIDER
HDM_SETIMAGELIST
HDM_SETORDERARRAY
HICF_ACCELERATOR
HICF_ARROWKEYS
HICF_DUPACCEL
HICF_ENTERING
HICF_LEAVING
HICF_MOUSE
HICF_OTHER
HICF_RESELECT
ICC_INTERNET_CLASSES
ICC_NATIVEFNTCTL_CLASS
ICC_PAGESCROLLER_CLASS
IPM_CLEARADDRESS
IPM_GETADDRESS
IPM_ISBLANK
IPM_SETADDRESS
IPM_SETFOCUS
IPM_SETRANGE
IPN_FIELDCHANGED
IPN_FIRST
IPN_LAST
LVBKIF_SOURCE_HBITMAP
LVBKIF_SOURCE_MASK
LVBKIF_SOURCE_NONE
LVBKIF_SOURCE_URL
LVBKIF_STYLE_MASK
LVBKIF_STYLE_NORMAL
LVBKIF_STYLE_TILE
LVGIT_UNFOLDED
LVIF_INDENT
LVIF_NORECOMPUTE
LVKF_ALT
LVKF_CONTROL
LVKF_SHIFT
LVM_GETBKIMAGE
LVM_GETBKIMAGEA
LVM_GETBKIMAGEW
LVM_GETHOVERTIME
LVM_GETNUMBEROFWORKAREAS
LVM_GETSELECTIONMARK
LVM_GETTOOLTIPS
LVM_GETWORKAREA
LVM_GETWORKAREAS
LVM_SETBKIMAGE
LVM_SETBKIMAGEA
LVM_SETBKIMAGEW
LVM_SETHOVERTIME
LVM_SETSELECTIONMARK
LVM_SETTOOLTIPS
LVM_SETWORKAREAS
LVN_GETINFOTIP
LVN_GETINFOTIPA
LVN_GETINFOTIPW
LVN_ITEMACTIVATE
LVN_ODSTATECHANGED
LVSICF_NOINVALIDATEALL
LVSICF_NOSCROLL
LVS_EX_FLATSB
LVS_EX_INFOTIP
LVS_EX_MULTIWORKAREAS
LVS_EX_REGIONAL
LVS_EX_UNDERLINECOLD
LVS_EX_UNDERLINEHOT
LV_MAX_WORKAREAS
NFS_ALL
NFS_BUTTON
NFS_EDIT
NFS_LISTCOMBO
NFS_STATIC
NM_CHAR
NM_CUSTOMDRAW
NM_HOVER
NM_KEYDOWN
NM_NCHITTEST
NM_RELEASEDCAPTURE
NM_SETCURSOR
PGB_BOTTOMORRIGHT
PGB_TOPORLEFT
PGF_CALCHEIGHT
PGF_CALCWIDTH
PGF_DEPRESSED
PGF_GRAYED
PGF_HOT
PGF_INVISIBLE
PGF_NORMAL
PGF_SCROLLDOWN
PGF_SCROLLLEFT
PGF_SCROLLRIGHT
PGF_SCROLLUP
PGK_CONTROL
PGK_MENU
PGK_SHIFT
PGM_FIRST
PGM_FORWARDMOUSE
PGM_GETBKCOLOR
PGM_GETBORDER
PGM_GETBUTTONSIZE
PGM_GETBUTTONSTATE
PGM_GETDROPTARGET
PGM_GETPOS
PGM_RECALCSIZE
PGM_SETBKCOLOR
PGM_SETBORDER
PGM_SETBUTTONSIZE
PGM_SETCHILD
PGM_SETPOS
PGN_CALCSIZE
PGN_FIRST
PGN_LAST
PGN_SCROLL
PGS_AUTOSCROLL
PGS_DRAGNDROP
PGS_HORZ
PGS_VERT
TBCDRF_HILITEHOTTRACK
TBCDRF_NOEDGES
TBCDRF_NOETCHEDEFFECT
TBCDRF_NOMARK
TBCDRF_NOOFFSET
TBDDRET_DEFAULT
TBDDRET_NODEFAULT
TBDDRET_TREATPRESSED
TBIF_COMMAND
TBIF_IMAGE
TBIF_LPARAM
TBIF_SIZE
TBIF_STATE
TBIF_STYLE
TBIF_TEXT
TBIMHT_AFTER
TBIMHT_BACKGROUND
TBNF_DI_SETITEM
TBNF_IMAGE
TBNF_TEXT
TBN_DELETINGBUTTON
TBN_DRAGOUT
TBN_GETDISPINFO
TBN_GETDISPINFOA
TBN_GETDISPINFOW
TBN_GETINFOTIP
TBN_GETINFOTIPA
TBN_GETINFOTIPW
TBN_GETOBJECT
TBN_HOTITEMCHANGE
TBSTATE_MARKED
TBSTYLE_AUTOSIZE
TBSTYLE_EX_DRAWDDARROWS
TBSTYLE_NOPREFIX
TBSTYLE_REGISTERDROP
TBSTYLE_TRANSPARENT
TB_ADDBUTTONS
TB_ADDBUTTONSA
TB_ADDBUTTONSW
TB_GETANCHORHIGHLIGHT
TB_GETBUTTONINFO
TB_GETBUTTONINFOA
TB_GETBUTTONINFOW
TB_GETCOLORSCHEME
TB_GETEXTENDEDSTYLE
TB_GETHOTITEM
TB_GETINSERTMARK
TB_GETINSERTMARKCOLOR
TB_GETMAXSIZE
TB_GETOBJECT
TB_GETPADDING
TB_GETUNICODEFORMAT
TB_HITTEST
TB_INSERTBUTTON
TB_INSERTBUTTONA
TB_INSERTBUTTONW
TB_INSERTMARKHITTEST
TB_ISBUTTONHIGHLIGHTED
TB_MAPACCELERATOR
TB_MAPACCELERATORA
TB_MAPACCELERATORW
TB_MARKBUTTON
TB_MOVEBUTTON
TB_SETANCHORHIGHLIGHT
TB_SETBUTTONINFO
TB_SETBUTTONINFOA
TB_SETBUTTONINFOW
TB_SETCOLORSCHEME
TB_SETDRAWTEXTFLAGS
TB_SETEXTENDEDSTYLE
TB_SETHOTITEM
TB_SETINSERTMARK
TB_SETINSERTMARKCOLOR
TB_SETPADDING
TB_SETUNICODEFORMAT
TCIS_HIGHLIGHTED
TCM_GETEXTENDEDSTYLE
TCM_HIGHLIGHTITEM
TCM_SETEXTENDEDSTYLE
TCN_GETOBJECT
TCS_EX_FLATSEPARATORS
TCS_EX_REGISTERDROP
TCS_FLATBUTTONS
TCS_MULTISELECT
TVGN_LASTVISIBLE
TVIF_INTEGRAL
TVN_GETINFOTIPA
TVN_GETINFOTIPW
TVN_SINGLEEXPAND
TVS_CHECKBOXES
TVS_FULLROWSELECT
TVS_HOTTRACK
TVS_INFOTIP
TVS_NONEVENHEIGHT
TVS_NOSCROLL
TVS_NOTOOLTIPS
TVS_PRIVATEIMAGELISTS
TVS_SHAREDIMAGELISTS
TVS_SINGLEEXPAND
VIEW_VIEWMENU
WC_IPADDRESS
WC_NATIVEFONTCTLA
WC_PAGESCROLLER
WSB_PROP_CXHSCROLL
WSB_PROP_CXHTHUMB
WSB_PROP_CXVSCROLL
WSB_PROP_CYHSCROLL
WSB_PROP_CYVSCROLL
WSB_PROP_CYVTHUMB
WSB_PROP_HBKGCOLOR
WSB_PROP_HSTYLE
WSB_PROP_MASK
WSB_PROP_PALETTE
WSB_PROP_VBKGCOLOR
WSB_PROP_VSTYLE
WSB_PROP_WINSTYLE
Variables |
Functions |
Types |
PHDItemEx = PHDItemExA
PHDItemExA = ^THDItemExA#define TreeView_GetLastVisible(hwnd) TreeView_GetNextItem(hwnd, NULL, TVGN_LASTVISIBLE) (* #define TVM_SETINSERTMARK (TV_FIRST + 26) #define TreeView_SetInsertMark(hwnd, hItem, fAfter) \ (BOOL)SNDMSG((hwnd), TVM_SETINSERTMARK, (WPARAM) (fAfter), (LPARAM) (hItem)) #define TVM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT #define TreeView_SetUnicodeFormat(hwnd, fUnicode) \ (BOOL)SNDMSG((hwnd), TVM_SETUNICODEFORMAT, (WPARAM)(fUnicode), 0) #define TVM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT #define TreeView_GetUnicodeFormat(hwnd) \ (BOOL)SNDMSG((hwnd), TVM_GETUNICODEFORMAT, 0, 0) #define TVM_SETITEMHEIGHT (TV_FIRST + 27) #define TreeView_SetItemHeight(hwnd, iHeight) \ (int)SNDMSG((hwnd), TVM_SETITEMHEIGHT, (WPARAM)iHeight, 0) #define TVM_GETITEMHEIGHT (TV_FIRST + 28) #define TreeView_GetItemHeight(hwnd) \ (int)SNDMSG((hwnd), TVM_GETITEMHEIGHT, 0, 0) #define TVM_SETBKCOLOR (TV_FIRST + 29) #define TreeView_SetBkColor(hwnd, clr) \ (COLORREF)SNDMSG((hwnd), TVM_SETBKCOLOR, 0, (LPARAM)clr) #define TVM_SETTEXTCOLOR (TV_FIRST + 30) #define TreeView_SetTextColor(hwnd, clr) \ (COLORREF)SNDMSG((hwnd), TVM_SETTEXTCOLOR, 0, (LPARAM)clr) #define TVM_GETBKCOLOR (TV_FIRST + 31) #define TreeView_GetBkColor(hwnd) \ (COLORREF)SNDMSG((hwnd), TVM_GETBKCOLOR, 0, 0) #define TVM_GETTEXTCOLOR (TV_FIRST + 32) #define TreeView_GetTextColor(hwnd) \ (COLORREF)SNDMSG((hwnd), TVM_GETTEXTCOLOR, 0, 0) #define TVM_SETSCROLLTIME (TV_FIRST + 33) #define TreeView_SetScrollTime(hwnd, uTime) \ (UINT)SNDMSG((hwnd), TVM_SETSCROLLTIME, uTime, 0) #define TVM_GETSCROLLTIME (TV_FIRST + 34) #define TreeView_GetScrollTime(hwnd) \ (UINT)SNDMSG((hwnd), TVM_GETSCROLLTIME, 0, 0) #if (_WIN32_IE >= 0x0400) #define TVM_SETINSERTMARKCOLOR (TV_FIRST + 37) #define TreeView_SetInsertMarkColor(hwnd, clr) \ (COLORREF)SNDMSG((hwnd), TVM_SETINSERTMARKCOLOR, 0, (LPARAM)clr) #define TVM_GETINSERTMARKCOLOR (TV_FIRST + 38) #define TreeView_GetInsertMarkColor(hwnd) \ (COLORREF)SNDMSG((hwnd), TVM_GETINSERTMARKCOLOR, 0, 0) #endif /* (_WIN32_IE >= 0x0400) */ for tooltips typedef struct tagNMTVGETINFOTIPA NMHDR hdr; LPSTR pszText; int cchTextMax; HTREEITEM hItem; LPARAM lParam; } NMTVGETINFOTIPA, *LPNMTVGETINFOTIPA; typedef struct tagNMTVGETINFOTIPW NMHDR hdr; LPWSTR pszText; int cchTextMax; HTREEITEM hItem; LPARAM lParam; } NMTVGETINFOTIPW, *LPNMTVGETINFOTIPW; #ifdef UNICODE #define TVN_GETINFOTIP TVN_GETINFOTIPW #define NMTVGETINFOTIP NMTVGETINFOTIPW #define LPNMTVGETINFOTIP LPNMTVGETINFOTIPW #else #define TVN_GETINFOTIP TVN_GETINFOTIPA #define NMTVGETINFOTIP NMTVGETINFOTIPA #define LPNMTVGETINFOTIP LPNMTVGETINFOTIPA #endif treeview's customdraw return meaning don't draw images. valid on CDRF_NOTIFYITEMPREPAINT #define TVCDRF_NOIMAGES 0x00010000 *) ==================== HEADER CONTROL ==========================================
PHDItemExW = ^THDItemExW
PLvBkImage = PLvBkImageA
PLVBkImageA = ^TLVBkImageA#define ListView_SetWorkAreas(hwnd, nWorkAreas, prc) \ (BOOL)SNDMSG((hwnd), LVM_SETWORKAREAS, (WPARAM)(int)nWorkAreas, (LPARAM)(RECT FAR* )(prc)) #define ListView_GetWorkAreas(hwnd, nWorkAreas, prc) \ (BOOL)SNDMSG((hwnd), LVM_GETWORKAREAS, (WPARAM)(int)nWorkAreas, (LPARAM)(RECT FAR* )(prc)) #define ListView_GetNumberOfWorkAreas(hwnd, pnWorkAreas) \ (BOOL)SNDMSG((hwnd), LVM_GETNUMBEROFWORKAREAS, 0, (LPARAM)(UINT * )(pnWorkAreas)) #define ListView_GetSelectionMark(hwnd) \ (int)SNDMSG((hwnd), LVM_GETSELECTIONMARK, 0, 0) #define ListView_SetSelectionMark(hwnd, i) \ (int)SNDMSG((hwnd), LVM_SETSELECTIONMARK, 0, (LPARAM)i) #define ListView_SetToolTips(hwndLV, hwndNewHwnd)\ (HWND)SendMessage((hwndLV), LVM_SETTOOLTIPS, hwndNewHwnd, 0) #define ListView_GetToolTips(hwndLV)\ (HWND)SendMessage((hwndLV), LVM_GETTOOLTIPS, 0, 0)
PLVBkImageW = ^TLVBkImageW
PNMChar = ^TNMCharGeneric structure for a character
PNMClick = PNMMouseany specifics about where on the item or control the mouse is
PNMCustomDrawInfo = ^TNMCustomDrawInfo
PNMIPAdress = ^TNMIPAdress
PNMItemActivate = ^TNMItemActivateNMITEMACTIVATE is used instead of NMLISTVIEW in IE >= 0x400 therefore all the fields are the same except for extra uKeyFlags they are used to store key flags at the time of the single click with delayed activation - because by the time the timer goes off a user may not hold the keys (shift, ctrl) any more
PNMKey = ^TNMKeyGeneric structure for a key
PNMLVCustomDraw = ^TNMLVCustomDraw
PNMLvGetInfoTip = PNMLvGetInfoTipA
PNMLvGetInfoTipA = ^TNMLvGetInfoTipA(BOOL)SNDMSG((hwnd), LVM_GETBKIMAGE, 0, (LPARAM)plvbki
PNMLvGetInfoTipW = ^TNMLvGetInfoTipW
PNMLvStateChange = ^TNMLvStateChange
PNMMouse = ^TNMMousenative font control ====== Generic IE4 WM_NOTIFY notification structures ============================
PNMObjectNotify = ^TNMObjectNotifyGeneric structure to request an object of a specific type.
PNMPgCalcSize = ^TNMPgCalcSize
PNMPgScroll = ^TNMPgScrollThis structure is sent along with PGN_SCROLL notifications
PNMTBCustomDraw = ^TNMTBCustomDrawCustom Draw Structure
PNMTBDispInfo = PNMTBDispInfoA[in] size of buffer pointed to by pszText
PNMTBDispInfoA = ^TNMTBDispInfoA
PNMTBDispInfoW = ^TNMTBDispInfoW[in] size of buffer pointed to by pszText
PNMTBGetInfoTip = PNMTBGetInfoTipA
PNMTBGetInfoTipA = ^TNMTBGetInfoTipA
PNMTBGetInfoTipW = ^TNMTBGetInfoTipW
PNMTBHotItem = ^TNMTBHotItemStructure for TBN_HOTITEMCHANGE notification //
PNMTVCustomDraw = ^TNMTVCustomDrawIE 4 ONLY
PTBButtonInfo = PTBButtonInfoA
PTBButtonInfoA = ^TTBButtonInfoA
PTBButtonInfoW = ^TTBButtonInfoW
PTBInsertMark = ^TTBInsertMarkwParam == ch, lParam int * pidBtn
THDItemEx = THDItemExA
THDItemExA = record
Mask : Cardinal;
cxy : Integer;
pszText : PAnsiChar;
hbm : HBITMAP;
cchTextMax : Integer;
fmt : Integer;
lParam : LPARAM;
iImage : Integer;
iOrder : Integer;
end;
THDItemExW = record
Mask : Cardinal;
cxy : Integer;
pszText : PWideChar;
hbm : HBITMAP;
cchTextMax : Integer;
fmt : Integer;
lParam : LPARAM;
iImage : Integer;
iOrder : Integer;
end;
TLvBkImage = TLvBkImageA
TLVBkImageA = record
ulFlags : Longint;
hbm : HBITMAP;
pszImage : PAnsiChar;
cchImageMax : Cardinal;
xOffsetPercent : Integer;
yOffsetPercent : Integer;
end;
TLVBkImageW = record
ulFlags : Longint;
hbm : HBITMAP;
pszImage : PWideChar;
cchImageMax : Cardinal;
xOffsetPercent : Integer;
yOffsetPercent : Integer;
end;
TNMChar = record
hdr : TNMHdr;
ch : Cardinal;
dwItemPrev : Longint;
dwItemNext : Longint;
end;
TNMClick = TNMMouse
TNMCustomDrawInfo = record
hdr : TNMHDR;
dwDrawStage : LONGINT;
hdc : HDC;
rc : TRect;
dwItemSpec : LONGINT;
uItemState : UINT;
lItemlParam : Longint;
end;
TNMIPAdress = record
hdr : TNMHDR;
iField : Integer;
iValue : Integer;
end;
TNMItemActivate = record
hdr : TNMHDR;
iItem : Integer;
iSubItem : Integer;
uNewState : UINT;
uOldState : UINT;
uChanged : UINT;
ptAction : TPoint;
lParam : LPARAM;
uKeyFlags : UINT;
end;
TNMKey = record
hdr : TNMHdr;
nVKey : Cardinal;
uFlags : Cardinal;
end;
TNMLVCustomDraw = record
nmcd : TNMCustomDrawInfo;
clrText : COLORREF;
clrTextBk : COLORREF;
iSubItem : Integer;
end;
TNMLvGetInfoTip = TNMLvGetInfoTipA
TNMLvGetInfoTipA = record
hdr : TNMHDR;
dwFlags : Longint;
pszText : PAnsiChar;
cchTextMax : Integer;
iItem : Integer;
iSubItem : Integer;
lParam : Longint;
end;
TNMLvGetInfoTipW = record
hdr : TNMHDR;
dwFlags : Longint;
pszText : PWidechar;
cchTextMax : Integer;
iItem : Integer;
iSubItem : Integer;
lParam : Longint;
end;
TNMLvStateChange = record
hdr : TNMHDR;
iFrom : Integer;
iTo : Integer;
uNewState : UINT;
uOldState : UINT;
end;
TNMMouse = record
hdr : TNMHdr;
dwItemSpec : Longint;
dwItemData : Longint;
pt : TPoint;
dwHitInfo : Longint;
end;
TNMObjectNotify = record
hdr : TNMHdr;
iItem : Integer;
piid : Pointer;
pObject : Pointer;
hResult : HRESULT;
dwFlags : Longint;
end;
TNMPgCalcSize = record
hdr : TNMHDR;
dwFlag : Longint;
iWidth : Integer;
iHeight : Integer;
end;
TNMPgScroll = record
hdr : TNMHDR;
fwKeys : Word;
rcParent : TRect;
iDir : Integer;
iXpos : Integer;
iYpos : Integer;
iScroll : Integer;
end;
TNMTBCustomDraw = record
nmcd : TNMCustomDrawInfo;
hbrMonoDither : HBRUSH;
hbrLines : HBRUSH;
hpenLines : HPEN;
clrText : COLORREF;
clrMark : COLORREF;
clrTextHighlight : COLORREF;
clrBtnFace : COLORREF;
clrBtnHighlight : COLORREF;
clrHighlightHotTrack : COLORREF;
rcText : TRect;
nStringBkMode : Integer;
nHLStringBkMode : Integer;
end;
TNMTBDispInfo = TNMTBDispInfoA
TNMTBDispInfoA = record
hdr : TNMHdr;
dwMask : Longint;
idCommand : Integer;
lParam : Longint;
iImage : Integer;
pszText : PAnsiChar;
cchText : Integer;
end;
TNMTBDispInfoW = record
hdr : TNMHdr;
dwMask : Longint;
idCommand : Integer;
lParam : Longint;
iImage : Integer;
pszText : PWideChar;
cchText : Integer;
end;
TNMTBGetInfoTip = TNMTBGetInfoTipA
TNMTBGetInfoTipA = record
hdr : TNMHdr;
pszText : PAnsiChar;
cchTextMax : Integer;
iItem : Integer;
lParam : Longint;
end;
TNMTBGetInfoTipW = record
hdr : TNMHdr;
pszText : PWideChar;
cchTextMax : Integer;
iItem : Integer;
lParam : Longint;
end;
TNMTBHotItem = record
hdr : TNMHdr;
idOld : Integer;
idNew : Integer;
dwFlags : Longint;
end;
TNMTVCustomDraw = record
nmcd : TNMCustomDrawInfo;
clrText : COLORREF;
clrTextBk : COLORREF;
iLevel : Integer;
end;
TTBButtonInfo = TTBButtonInfoA
TTBButtonInfoA = record
cbSize : Cardinal;
dwMask : Longint;
idCommand : Integer;
iImage : Integer;
fsState : Byte;
fsStyle : Byte;
cx : Word;
lParam : Longint;
pszText : PAnsiChar;
cchText : Integer;
end;
TTBButtonInfoW = record
cbSize : Cardinal;
dwMask : Longint;
idCommand : Integer;
iImage : Integer;
fsState : Byte;
fsStyle : Byte;
cx : Word;
lParam : Longint;
pszText : PWideChar;
cchText : Integer;
end;
TTBInsertMark = record
iButton : Integer;
dwFlags : Longint;
end;
Constants |
Variables |