mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-31 17:30:38 +02:00
* vista items till WC_STATICA, roughly at 80% now.
git-svn-id: trunk@13203 -
This commit is contained in:
parent
baca8ec9b6
commit
3af4741b5e
@ -59,12 +59,14 @@ CONST CommCtrlDLL = 'comctl32.dll';
|
||||
{$DEFINE IE3PLUS}
|
||||
{$DEFINE IE4PLUS}
|
||||
{$define IE5plus}
|
||||
{$define WIN32XP}
|
||||
{$define win32vista} // till lvgroup
|
||||
{$define WIN32XP} // also 0x501, win2003
|
||||
{$define win32vista} // till WC_STATICA
|
||||
{$define ie501plus}
|
||||
{$ifdef win32}
|
||||
{$define _win32}
|
||||
{$endif win32}
|
||||
{$define ie6plus}
|
||||
{$define NTDDI_WIN7}
|
||||
|
||||
{$ifdef win64}
|
||||
{$define _win32}
|
||||
@ -103,6 +105,26 @@ CONST CommCtrlDLL = 'comctl32.dll';
|
||||
// NOSCROLLBAR Scrollbar control.
|
||||
//
|
||||
//=============================================================================
|
||||
// Moved items due to forward defining limitations
|
||||
|
||||
Const
|
||||
MAX_LINKID_TEXT = 48;
|
||||
L_MAX_URL_LENGTH = (2048 + 32 + length('://'));
|
||||
Type
|
||||
tagLITEM = Record
|
||||
mask : UINT;
|
||||
iLink : cint;
|
||||
state : UINT;
|
||||
stateMask : UINT;
|
||||
szID : Array [0..MAX_LINKID_TEXT-1] OF WCHAR;
|
||||
szUrl : Array [0..L_MAX_URL_LENGTH-1] OF WCHAR;
|
||||
END;
|
||||
LITEM = tagLITEM;
|
||||
PLITEM = ^tagLITEM;
|
||||
TLITEM = tagLITEM;
|
||||
// PLITEM = ^tagLITEM;
|
||||
|
||||
|
||||
|
||||
// include <prsht.h>
|
||||
|
||||
@ -3749,7 +3771,7 @@ CONST
|
||||
LVSIL_NORMAL = 0;
|
||||
LVSIL_SMALL = 1;
|
||||
LVSIL_STATE = 2;
|
||||
|
||||
LVSIL_GROUPHEADER = 3;
|
||||
LVM_SETIMAGELIST = (LVM_FIRST + 3);
|
||||
|
||||
// Macro 43
|
||||
@ -3896,7 +3918,8 @@ Type
|
||||
LV_ITEM = LVITEM;
|
||||
TLVItem = LVITEM;
|
||||
PLVItem = LPLVITEM;
|
||||
|
||||
TLV_ITEM = LVITEM;
|
||||
PLV_ITEM = PLVITEM;
|
||||
CONST
|
||||
LPSTR_TEXTCALLBACKW = LPWSTR(-1);
|
||||
LPSTR_TEXTCALLBACKA = LPSTR (-1);
|
||||
@ -4865,6 +4888,22 @@ TYPE
|
||||
stateMask : UINT;
|
||||
state : UINT;
|
||||
uAlign : UINT;
|
||||
{$ifdef win32vista}
|
||||
pszSubtitle : LPWSTR;
|
||||
cchSubtitle : UINT;
|
||||
pszTask : LPWSTR;
|
||||
cchTask : UINT;
|
||||
pszDescriptionTop : LPWSTR;
|
||||
cchDescriptionTop : UINT;
|
||||
pszDescriptionBottom: LPWSTR;
|
||||
cchDescriptionBottom: UINT;
|
||||
iTitleImage : cint;
|
||||
iExtendedImage : cint;
|
||||
iFirstItem : cint; // Read only
|
||||
cItems : UINT; // Read only
|
||||
pszSubsetTitle : LPWSTR;// NULL if group is not subset
|
||||
cchSubsetTitle : UINT;
|
||||
{$endif}
|
||||
END;
|
||||
LVGROUP = tagLVGROUP;
|
||||
PLVGROUP = ^tagLVGROUP;
|
||||
@ -4995,11 +5034,14 @@ CONST
|
||||
LVTVIF_FIXEDWIDTH = $00000001;
|
||||
LVTVIF_FIXEDHEIGHT = $00000002;
|
||||
LVTVIF_FIXEDSIZE = $00000003;
|
||||
|
||||
{$ifdef win32vista}
|
||||
LVTVIF_EXTENDED = $00000004;
|
||||
{$endif}
|
||||
LVTVIM_TILESIZE = $00000001;
|
||||
LVTVIM_COLUMNS = $00000002;
|
||||
LVTVIM_LABELMARGIN = $00000004;
|
||||
|
||||
|
||||
TYPE
|
||||
|
||||
tagLVTILEVIEWINFO = Record
|
||||
@ -5020,6 +5062,9 @@ TYPE
|
||||
iItem : cint;
|
||||
cColumns : UINT;
|
||||
puColumns : PUINT;
|
||||
{$ifdef win32vista}
|
||||
piColFmt : PCINT;
|
||||
{$endif}
|
||||
END;
|
||||
LVTILEINFO = tagLVTILEINFO;
|
||||
PLVTILEINFO = ^tagLVTILEINFO;
|
||||
@ -5166,8 +5211,96 @@ CONST
|
||||
|
||||
// Macro 153
|
||||
Function ListView_MapIDToIndex( hwnd : hwnd; id : WPARAM):UINT;
|
||||
|
||||
const LVM_ISITEMVISIBLE = (LVM_FIRST + 182);
|
||||
|
||||
// macro 153b
|
||||
function ListView_IsItemVisible(hwnd:hwnd; aindex:cuint):cuint;
|
||||
// (UINT)SNDMSG((hwnd), LVM_ISITEMVISIBLE, (WPARAM)(index), (LPARAM)0)
|
||||
|
||||
{$ENDIF}
|
||||
|
||||
{$ifdef win32vista}
|
||||
CONST
|
||||
LVM_GETEMPTYTEXT = (LVM_FIRST + 204);
|
||||
LVM_GETFOOTERRECT = (LVM_FIRST + 205);
|
||||
LVM_GETFOOTERINFO = (LVM_FIRST + 206);
|
||||
LVM_GETFOOTERITEMRECT = (LVM_FIRST + 207);
|
||||
LVM_GETFOOTERITEM = (LVM_FIRST + 208);
|
||||
LVM_GETITEMINDEXRECT = (LVM_FIRST + 209);
|
||||
LVM_SETITEMINDEXSTATE = (LVM_FIRST + 210);
|
||||
LVM_GETNEXTITEMINDEX = (LVM_FIRST + 211);
|
||||
|
||||
// footer flags
|
||||
LVFF_ITEMCOUNT = $00000001;
|
||||
|
||||
// footer item flags
|
||||
LVFIF_TEXT = $00000001;
|
||||
LVFIF_STATE = $00000002;
|
||||
|
||||
// footer item state
|
||||
LVFIS_FOCUSED = $0001;
|
||||
|
||||
TYPE
|
||||
tagLVFOOTERINFO = Record
|
||||
mask : CUINT; // LVFF_*
|
||||
pszText : LPWSTR;
|
||||
cchTextMax: CINT;
|
||||
cItems : CUINT;
|
||||
end;
|
||||
|
||||
LVFOOTERINFO = tagLVFOOTERINFO;
|
||||
LPLVFOOTERINFO = ^tagLVFOOTERINFO;
|
||||
TLVFOOTERINFO = tagLVFOOTERINFO;
|
||||
PLVFOOTERINFO = LPLVFOOTERINFO;
|
||||
|
||||
|
||||
tagLVFOOTERITEM = Record
|
||||
mask : CUINT; // LVFIF_*
|
||||
iItem : CINT;
|
||||
pszText : LPWSTR;
|
||||
cchTextMax: CINT;
|
||||
state : CUINT; // LVFIS_*
|
||||
stateMask : CUINT; // LVFIS_*
|
||||
end;
|
||||
|
||||
LVFOOTERITEM = tagLVFOOTERITEM;
|
||||
LPLVFOOTERITEM = ^tagLVFOOTERITEM;
|
||||
TLVFOOTERITEM = tagLVFOOTERITEM;
|
||||
PLVFOOTERITEM = LPLVFOOTERITEM;
|
||||
|
||||
// supports a single item in multiple groups.
|
||||
tagLVITEMINDEX = Record
|
||||
iItem : CINT; // listview item index
|
||||
iGroup : CINT; // group index (must be -1 if group view is not enabled)
|
||||
end;
|
||||
LVITEMINDEX = tagLVITEMINDEX;
|
||||
PLVITEMINDEX = ^tagLVITEMINDEX;
|
||||
tLVITEMINDEX = TAGLVITEMINDEX;
|
||||
|
||||
|
||||
function ListView_SetGroupHeaderImageList(hwnd:HWNd;himl:HIMAGELIST):HIMAGELIST;
|
||||
|
||||
function ListView_GetGroupHeaderImageList(hwnd:HWND):HIMAGELIST;
|
||||
|
||||
function ListView_GetEmptyText(hwnd:HWND;pszText:LPWSTR; cchText:CUINT):BOOL;
|
||||
|
||||
function ListView_GetFooterRect(hwnd:HWND; prc:PRECT):BOOL;
|
||||
|
||||
function ListView_GetFooterInfo(hwnd:HWND;plvfi: LPLVFOOTERINFO ):BOOL;
|
||||
|
||||
function ListView_GetFooterItemRect(hwnd:HWND;iItem:CUINT;prc:PRECT):BOOL;
|
||||
|
||||
function ListView_GetFooterItem(hwnd:HWND;iItem:CUINT; pfi:PLVFOOTERITEM):BOOL;
|
||||
|
||||
function ListView_GetItemIndexRect(hwnd:hwnd; plvii:PLVITEMINDEX; iSubItem:clong; code:clong; prc:LPRECT) :BOOL;
|
||||
|
||||
function ListView_SetItemIndexState(hwndLV:HWND; plvii:PLVITEMINDEX; data:CUINT; mask:CUINT):HRESULT;
|
||||
|
||||
function ListView_GetNextItemIndex(hwnd:HWND;plvii:PLVITEMINDEX; flags:LPARAM):BOOL;
|
||||
|
||||
{$endif}
|
||||
|
||||
Type
|
||||
|
||||
{$IFDEF UNICODE}
|
||||
@ -5504,6 +5637,19 @@ CONST
|
||||
LVN_MARQUEEBEGIN = (LVN_FIRST-56);
|
||||
{$ENDIF}
|
||||
|
||||
{$ifdef win32vista}
|
||||
Type
|
||||
tagNMLVLIN = Record
|
||||
hdr: NMHDR;
|
||||
link: LITEM;
|
||||
iItem: cint;
|
||||
iSubItem: cint;
|
||||
end;
|
||||
NMLVLINK = tagNMLVLIN;
|
||||
TNMLVLINK = tagNMLVLIN;
|
||||
PNMLVLINK = ^tagNMLVLIN;
|
||||
{$endif}
|
||||
|
||||
{$ifdef ie4plus}
|
||||
TYPE
|
||||
|
||||
@ -5551,6 +5697,17 @@ CONST
|
||||
|
||||
LVN_GETINFOTIPA = (LVN_FIRST-57);
|
||||
LVN_GETINFOTIPW = (LVN_FIRST-58);
|
||||
LVN_INCREMENTALSEARCHA = (LVN_FIRST-62);
|
||||
LVN_INCREMENTALSEARCHW = (LVN_FIRST-63);
|
||||
|
||||
LVNSCH_DEFAULT = -1;
|
||||
LVNSCH_ERROR = -2;
|
||||
LVNSCH_IGNORE = -3;
|
||||
|
||||
{$ifdef win32vista}
|
||||
LVN_COLUMNDROPDOWN = (LVN_FIRST-64);
|
||||
LVN_COLUMNOVERFLOWCLICK = (LVN_FIRST-66);
|
||||
{$endif}
|
||||
|
||||
Const
|
||||
{$IFDEF UNICODE}
|
||||
@ -5567,7 +5724,7 @@ type
|
||||
{$ENDIF} // _WIN32_IE >= 0x0400
|
||||
|
||||
|
||||
{$ifdef win32xp}
|
||||
{$ifdef win32xp} // actually 2003
|
||||
tagNMLVSCROLL = Record
|
||||
hdr : NMHDR;
|
||||
dx : cint;
|
||||
@ -5580,10 +5737,29 @@ type
|
||||
|
||||
|
||||
CONST
|
||||
LVN_BEGINSCROLL = (LVN_FIRST-80) ;
|
||||
LVN_BEGINSCROLL = (LVN_FIRST-80);
|
||||
LVN_ENDSCROLL = (LVN_FIRST-81);
|
||||
// {$ENDIF}
|
||||
|
||||
{$ifdef win32vista}
|
||||
LVN_LINKCLICK = (LVN_FIRST-84);
|
||||
LVN_GETEMPTYMARKUP = (LVN_FIRST-87);
|
||||
|
||||
EMF_CENTERED = $00000001; // render markup centered in the listview area
|
||||
|
||||
Type
|
||||
tagNMLVEMPTYMARKUP = Record
|
||||
hdr : NMHDR;
|
||||
// out params from client back to listview
|
||||
dwFlags :DWORD; // EMF_*
|
||||
szMarkup : array[0..L_MAX_URL_LENGTH-1] of wchar; // markup displayed
|
||||
end;
|
||||
NMLVEMPTYMARKUP = tagNMLVEMPTYMARKUP;
|
||||
TNMLVEMPTYMARKUP = tagNMLVEMPTYMARKUP;
|
||||
PNMLVEMPTYMARKUP = ^tagNMLVEMPTYMARKUP;
|
||||
|
||||
{$endif}
|
||||
|
||||
{$ENDIF} // NOLISTVIEW
|
||||
|
||||
//====== TREEVIEW CONTROL =====================================================
|
||||
@ -5628,9 +5804,20 @@ CONST
|
||||
{$ifdef ie5plus}
|
||||
TVS_NOHSCROLL = $8000; // TVS_NOSCROLL overrides this
|
||||
{$ENDIF}
|
||||
{$ifdef win32vista}
|
||||
TVS_EX_MULTISELECT = $0002;
|
||||
TVS_EX_DOUBLEBUFFER = $0004;
|
||||
TVS_EX_NOINDENTSTATE = $0008;
|
||||
TVS_EX_RICHTOOLTIP = $0010;
|
||||
TVS_EX_AUTOHSCROLL = $0020;
|
||||
TVS_EX_FADEINOUTEXPANDOS = $0040;
|
||||
TVS_EX_PARTIALCHECKBOXES = $0080;
|
||||
TVS_EX_EXCLUSIONCHECKBOXES = $0100;
|
||||
TVS_EX_DIMMEDCHECKBOXES = $0200;
|
||||
TVS_EX_DRAWIMAGEASYNC = $0400;
|
||||
{$endif}
|
||||
{$ENDIF}
|
||||
|
||||
|
||||
// end_r_commctrl
|
||||
|
||||
TYPE
|
||||
@ -5647,6 +5834,10 @@ CONST
|
||||
{$ifdef ie4plus}
|
||||
TVIF_INTEGRAL = $0080;
|
||||
{$ENDIF}
|
||||
{$ifdef win32vista}
|
||||
TVIF_STATEEX = $0100;
|
||||
TVIF_EXPANDEDIMAGE = $0200;
|
||||
{$endif}
|
||||
TVIS_SELECTED = $0002;
|
||||
TVIS_CUT = $0004;
|
||||
TVIS_DROPHILITED = $0008;
|
||||
@ -5661,6 +5852,25 @@ CONST
|
||||
TVIS_STATEIMAGEMASK = $F000;
|
||||
TVIS_USERMASK = $F000;
|
||||
|
||||
// IE6
|
||||
TVIS_EX_FLAT = $0001;
|
||||
{$ifdef win32vista}
|
||||
TVIS_EX_DISABLED = $0002;
|
||||
{$endif}
|
||||
TVIS_EX_ALL = $0002;
|
||||
Type
|
||||
|
||||
// Structure for TreeView's NM_TVSTATEIMAGECHANGING notification
|
||||
tagNMTVSTATEIMAGECHANGING = Record
|
||||
hdr : NMHDR;
|
||||
hti : HTREEITEM;
|
||||
iOldStateImageIndex : cint;
|
||||
iNewStateImageIndex : cint;
|
||||
end;
|
||||
NMTVSTATEIMAGECHANGING = tagNMTVSTATEIMAGECHANGING;
|
||||
LPNMTVSTATEIMAGECHANGING = ^tagNMTVSTATEIMAGECHANGING;
|
||||
|
||||
Const
|
||||
I_CHILDRENCALLBACK = (-1);
|
||||
Type
|
||||
tagTVITEMA = Record
|
||||
@ -5674,6 +5884,14 @@ Type
|
||||
iSelectedImage : cint;
|
||||
cChildren : cint;
|
||||
lParam : LPARAM;
|
||||
{$ifdef ie6plus}
|
||||
uStateEx : cUINT;
|
||||
hwnd : HWND;
|
||||
iExpandedImage : cint;
|
||||
{$endif}
|
||||
{$ifdef NTDDI_WIN7}
|
||||
iPadding : cint;
|
||||
{$endif}
|
||||
END;
|
||||
TVITEMA = tagTVITEMA;
|
||||
LPTVITEMA = ^tagTVITEMA;
|
||||
@ -5692,6 +5910,14 @@ Type
|
||||
iSelectedImage : cint;
|
||||
cChildren : cint;
|
||||
lParam : LPARAM;
|
||||
{$ifdef ie6plus}
|
||||
uStateEx : cUINT;
|
||||
hwnd : HWND;
|
||||
iExpandedImage : cint;
|
||||
{$endif}
|
||||
{$ifdef NTDDI_WIN7}
|
||||
iPadding : cint;
|
||||
{$endif}
|
||||
END;
|
||||
TVITEMW = tagTVITEMW;
|
||||
LPTVITEMW = ^tagTVITEMW;
|
||||
@ -5953,12 +6179,13 @@ CONST
|
||||
TVGN_PREVIOUSVISIBLE = $0007;
|
||||
TVGN_DROPHILITE = $0008;
|
||||
TVGN_CARET = $0009;
|
||||
|
||||
{$ifdef ie4plus}
|
||||
TVGN_LASTVISIBLE = $000A;
|
||||
{$ENDIF} // _WIN32_IE >= 0x0400
|
||||
|
||||
{$ifdef win32xp}
|
||||
{$ifdef ie6plus}
|
||||
TVGN_NEXTSELECTED = $000B;
|
||||
{$endif}
|
||||
{$ifdef win32xp} // 0x501
|
||||
TVSI_NOSINGLEEXPAND = $8000; // Should not conflict with TVGN flags.
|
||||
{$ENDIF}
|
||||
|
||||
@ -5975,6 +6202,9 @@ function TreeView_GetDropHilite(hwnd:hwnd) : HTREEITEM;inline;
|
||||
function TreeView_GetRoot(hwnd:hwnd) : HTREEITEM;inline;
|
||||
function TreeView_GetLastVisible(hwnd:hwnd) : HTREEITEM;inline;
|
||||
|
||||
{$ifdef win32vista}
|
||||
function TreeView_GetNextSelected(hwnd:hwnd; hitem:HTREEITEM):HTREEITEM;inline;
|
||||
{$endif}
|
||||
|
||||
CONST
|
||||
TVM_SELECTITEM = (TV_FIRST + 11);
|
||||
@ -6367,10 +6597,41 @@ CONST
|
||||
// Macro 216
|
||||
Function TreeView_MapHTREEITEMToAccID( hwnd : hwnd; htreeitem : WPARAM):UINT;
|
||||
|
||||
|
||||
|
||||
{$ENDIF}
|
||||
|
||||
{$ifdef win32vista}
|
||||
CONST
|
||||
TVM_GETSELECTEDCOUNT = (TV_FIRST + 70);
|
||||
TVM_SHOWINFOTIP = (TV_FIRST + 71);
|
||||
TVM_GETITEMPARTRECT = (TV_FIRST + 72);
|
||||
|
||||
Type
|
||||
TVITEMPART = (TVGIPR_BUTTON = $0001);
|
||||
pTVITEMPART = ^TVITEMPART;
|
||||
|
||||
tagTVGETITEMPARTRECTINFO = Record
|
||||
hti :HTREEITEM ;
|
||||
prc :PRECT;
|
||||
partID :TVITEMPART;
|
||||
end;
|
||||
TVGETITEMPARTRECTINFO = tagTVGETITEMPARTRECTINFO;
|
||||
|
||||
function TreeView_GetSelectedCount(hwnd:hwnd):DWORD;
|
||||
// (DWORD)SNDMSG((hwnd), TVM_GETSELECTEDCOUNT, 0, 0)
|
||||
|
||||
function TreeView_ShowInfoTip(hwnd:HWND; hitem:HTREEITEM):DWORD;
|
||||
// (DWORD)SNDMSG((hwnd), TVM_SHOWINFOTIP, 0, (LPARAM)(hitem))
|
||||
|
||||
function TreeView_GetItemPartRect(hwnd:HWND; hitem:HTREEITEM; prc:prect; partid:TVITEMPART):bool;
|
||||
//{ TVGETITEMPARTRECTINFO info; \
|
||||
// info.hti = (hitem); \
|
||||
// info.prc = (prc); \
|
||||
// info.partID = (partid); \
|
||||
// (BOOL)SNDMSG((hwnd), TVM_GETITEMPARTRECT, 0, (LPARAM)&info); \
|
||||
|
||||
{$endif}
|
||||
|
||||
|
||||
TYPE
|
||||
PFNTVCOMPARE =function (lparam1:LPARAM;lparam2:LPARAM;lParamSort:LParam): cint; STDCALL;
|
||||
TTVCompare = PFNTVCOMPARE;
|
||||
@ -6504,6 +6765,35 @@ Type
|
||||
LPNMTVDISPINFO = LPNMTVDISPINFOA;
|
||||
{$ENDIF}
|
||||
|
||||
{$ifdef IE6plus}
|
||||
tagTVDISPINFOEXA = Record
|
||||
hdr : NMHDR;
|
||||
item :TVITEMEXA;
|
||||
end;
|
||||
NMTVDISPINFOEXA = tagTVDISPINFOEXA;
|
||||
LPNMTVDISPINFOEXA = ^tagTVDISPINFOEXA;
|
||||
|
||||
tagTVDISPINFOEXW = Record
|
||||
hdr : NMHDR;
|
||||
item :TVITEMEXW;
|
||||
end;
|
||||
NMTVDISPINFOEXW = tagTVDISPINFOEXW;
|
||||
LPNMTVDISPINFOEXW = ^tagTVDISPINFOEXW;
|
||||
|
||||
{$IFDEF UNICODE}
|
||||
NMTVDISPINFOEX = NMTVDISPINFOEXW;
|
||||
LPNMTVDISPINFOEX = LPNMTVDISPINFOEXW;
|
||||
{$ELSE}
|
||||
NMTVDISPINFOEX = NMTVDISPINFOEXA;
|
||||
LPNMTVDISPINFOEX = LPNMTVDISPINFOEXA;
|
||||
{$ENDIF}
|
||||
|
||||
TV_DISPINFOEXA = NMTVDISPINFOEXA;
|
||||
TV_DISPINFOEXW = NMTVDISPINFOEXW;
|
||||
TV_DISPINFOEX = NMTVDISPINFOEX;
|
||||
|
||||
|
||||
{$endif}
|
||||
|
||||
{$ifdef ie3plus}
|
||||
TV_DISPINFOA = NMTVDISPINFOA;
|
||||
@ -6550,6 +6840,14 @@ CONST
|
||||
TVNRET_SKIPOLD = 1;
|
||||
TVNRET_SKIPNEW = 2;
|
||||
|
||||
{$ifdef win32vista}
|
||||
TVN_ITEMCHANGINGA = (TVN_FIRST-16);
|
||||
TVN_ITEMCHANGINGW = (TVN_FIRST-17);
|
||||
TVN_ITEMCHANGEDA = (TVN_FIRST-18);
|
||||
TVN_ITEMCHANGEDW = (TVN_FIRST-19);
|
||||
TVN_ASYNCDRAW = (TVN_FIRST-20);
|
||||
{$endif}
|
||||
|
||||
{$ENDIF} // 0x400
|
||||
|
||||
|
||||
@ -6680,6 +6978,41 @@ CONST
|
||||
|
||||
{$ENDIF} // _WIN32_IE >= 0x0400
|
||||
|
||||
{$ifdef ie6plus}
|
||||
Type
|
||||
tagTVITEMCHANGE = packed record
|
||||
hdr : NMHDR;
|
||||
uChanged : UINT;
|
||||
hItem : HTREEITEM;
|
||||
uStateNew : UINT;
|
||||
uStateOld : UINT;
|
||||
lParam : LPARAM;
|
||||
end;
|
||||
NMTVITEMCHANGE = tagTVITEMCHANGE;
|
||||
PNMTVITEMCHANGE = ^NMTVITEMCHANGE;
|
||||
|
||||
tagNMTVASYNCDRAW = packed record
|
||||
hdr : NMHDR;
|
||||
pimldp : PIMAGELISTDRAWPARAMS; { the draw that failed }
|
||||
hr : HRESULT; { why it failed }
|
||||
hItem : HTREEITEM; { item that failed to draw icon }
|
||||
lParam : LPARAM; { its data }
|
||||
dwRetFlags : DWORD; { Out Params }
|
||||
iRetImageIndex : longint; { What listview should do on return }
|
||||
end; { used if ADRF_DRAWIMAGE is returned }
|
||||
NMTVASYNCDRAW = tagNMTVASYNCDRAW;
|
||||
PNMTVASYNCDRAW = ^NMTVASYNCDRAW;
|
||||
|
||||
CONST
|
||||
{$IFDEF UNICODE}
|
||||
TVN_ITEMCHANGING = TVN_ITEMCHANGINGW;
|
||||
TVN_ITEMCHANGED = TVN_ITEMCHANGEDW;
|
||||
{$ELSE}
|
||||
TVN_ITEMCHANGING = TVN_ITEMCHANGINGA;
|
||||
TVN_ITEMCHANGED = TVN_ITEMCHANGEDA;
|
||||
{$ENDIF}
|
||||
{$endif}
|
||||
|
||||
{$ENDIF} // NOTREEVIEW
|
||||
|
||||
{$ifdef ie3plus}
|
||||
@ -6805,7 +7138,9 @@ CONST
|
||||
{$ifdef ie4plus}
|
||||
CBES_EX_NOSIZELIMIT = $00000008;
|
||||
CBES_EX_CASESENSITIVE = $00000010;
|
||||
|
||||
{$ifdef win32vista}
|
||||
CBES_EX_TEXTENDELLIPSIS = $00000020;
|
||||
{$endif}
|
||||
TYPE
|
||||
|
||||
DummyStruct9 = Record
|
||||
@ -8875,18 +9210,100 @@ CONST
|
||||
BCN_HOTITEMCHANGE = (BCN_FIRST + $0001);
|
||||
|
||||
BST_HOT = $0200;
|
||||
{$ifdef win32vista}
|
||||
BST_DROPDOWNPUSHED = $0400;
|
||||
|
||||
// BUTTON STYLES
|
||||
BS_SPLITBUTTON = $00000000C; // This block L suffixed (unsigned)
|
||||
BS_DEFSPLITBUTTON = $00000000D;
|
||||
BS_COMMANDLINK = $00000000E;
|
||||
BS_DEFCOMMANDLINK = $00000000F;
|
||||
|
||||
// SPLIT BUTTON INFO mask flags
|
||||
BCSIF_GLYPH = $00001;
|
||||
BCSIF_IMAGE = $00002;
|
||||
BCSIF_STYLE = $00004;
|
||||
BCSIF_SIZE = $00008;
|
||||
|
||||
// SPLIT BUTTON STYLE flags
|
||||
BCSS_NOSPLIT = $00001;
|
||||
BCSS_STRETCH = $00002;
|
||||
BCSS_ALIGNLEFT = $00004;
|
||||
BCSS_IMAGE = $00008;
|
||||
|
||||
BCM_SETDROPDOWNSTATE = (BCM_FIRST + $0006);
|
||||
BCM_SETSPLITINFO = (BCM_FIRST + $0007);
|
||||
BCM_GETSPLITINFO = (BCM_FIRST + $0008);
|
||||
BCM_SETNOTE = (BCM_FIRST + $0009);
|
||||
BCM_GETNOTE = (BCM_FIRST + $000A);
|
||||
BCM_GETNOTELENGTH = (BCM_FIRST + $000B);
|
||||
BCM_SETSHIELD = (BCM_FIRST + $000C);
|
||||
|
||||
|
||||
// Value to pass to BCM_SETIMAGELIST to indicate that no glyph should be
|
||||
// displayed
|
||||
BCCL_NOGLYPH = HIMAGELIST(-1);
|
||||
|
||||
BCN_DROPDOWN = (BCN_FIRST + $0002);
|
||||
Type
|
||||
|
||||
tagBUTTON_SPLITINFO = record
|
||||
mask : UINT;
|
||||
himlGlyph : HIMAGELIST;
|
||||
uSplitStyle : UINT;
|
||||
size : SIZE;
|
||||
end;
|
||||
BUTTON_SPLITINFO = tagBUTTON_SPLITINFO;
|
||||
PBUTTON_SPLITINFO = ^BUTTON_SPLITINFO;
|
||||
LPBUTTON_SPLITINFO = PBUTTON_SPLITINFO;
|
||||
|
||||
{ NOTIFICATION MESSAGES }
|
||||
|
||||
tagNMBCDROPDOWN = packed record
|
||||
hdr : NMHDR;
|
||||
rcButton : RECT;
|
||||
end;
|
||||
NMBCDROPDOWN = tagNMBCDROPDOWN;
|
||||
PNMBCDROPDOWN = ^NMBCDROPDOWN;
|
||||
LPNMBCDROPDOWN = PNMBCDROPDOWN;
|
||||
|
||||
// BUTTON MESSAGES
|
||||
|
||||
function Button_SetDropDownState(hwnd:HWND; fDropDown:BOOL) : BOOL;
|
||||
// (BOOL)SNDMSG((hwnd), BCM_SETDROPDOWNSTATE, (WPARAM)(fDropDown), 0)
|
||||
|
||||
function Button_SetSplitInfo(hwnd:HWND; pInfo:PBUTTON_SPLITINFO):BOOL;
|
||||
// (BOOL)SNDMSG((hwnd), BCM_SETSPLITINFO, 0, (LPARAM)(pInfo))
|
||||
|
||||
function Button_GetSplitInfo(hwnd:HWND; pInfo:PBUTTON_SPLITINFO) :BOOL;
|
||||
// (BOOL)SNDMSG((hwnd), BCM_GETSPLITINFO, 0, (LPARAM)(pInfo))
|
||||
|
||||
function Button_SetNote(hwnd:HWND; psz:LPCWSTR) :BOOL;
|
||||
// (BOOL)SNDMSG((hwnd), BCM_SETNOTE, 0, (LPARAM)(psz))
|
||||
|
||||
function Button_GetNote(hwnd:HWND; psz:LPCWSTR; pcc:cint) :BOOL;
|
||||
// (BOOL)SNDMSG((hwnd), BCM_GETNOTE, (WPARAM)pcc, (LPARAM)psz)
|
||||
|
||||
function Button_GetNoteLength(hwnd:HWND) :LRESULT;
|
||||
// (LRESULT)SNDMSG((hwnd), BCM_GETNOTELENGTH, 0, 0)
|
||||
|
||||
// Macro to use on a button or command link to display an elevated icon
|
||||
|
||||
function Button_SetElevationRequiredState(hwnd:HWND; fRequired:BOOL) :LRESULT;
|
||||
// (LRESULT)SNDMSG((hwnd), BCM_SETSHIELD, 0, (LPARAM)fRequired)
|
||||
|
||||
{$endif}
|
||||
{$ENDIF}
|
||||
|
||||
|
||||
{$ENDIF} // NOBUTTON
|
||||
|
||||
|
||||
/// ===================== End Button Control =========================
|
||||
|
||||
/// ====================== Static Control =============================
|
||||
|
||||
{$IFNDEF NOSTATIC}
|
||||
|
||||
const
|
||||
{$IFDEF _WIN32}
|
||||
|
||||
// Static Class Name
|
||||
@ -9104,8 +9521,8 @@ CONST
|
||||
{$ifdef win32xp}
|
||||
|
||||
INVALID_LINK_INDEX = (-1);
|
||||
MAX_LINKID_TEXT = 48;
|
||||
L_MAX_URL_LENGTH = (2048 + 32 + length('://'));
|
||||
|
||||
|
||||
|
||||
WC_LINK = {L}'SysLink';
|
||||
|
||||
@ -9134,19 +9551,6 @@ CONST
|
||||
|
||||
TYPE
|
||||
|
||||
tagLITEM = Record
|
||||
mask : UINT;
|
||||
iLink : cint;
|
||||
state : UINT;
|
||||
stateMask : UINT;
|
||||
szID : Array [0..MAX_LINKID_TEXT-1] OF WCHAR;
|
||||
szUrl : Array [0..L_MAX_URL_LENGTH-1] OF WCHAR;
|
||||
END;
|
||||
LITEM = tagLITEM;
|
||||
PLITEM = ^tagLITEM;
|
||||
TLITEM = tagLITEM;
|
||||
// PLITEM = ^tagLITEM;
|
||||
|
||||
|
||||
tagLHITTESTINFO = Record
|
||||
pt : POINT;
|
||||
@ -10981,8 +11385,77 @@ Function ListView_MapIDToIndex( hwnd : hwnd; id : WPARAM):UINT;
|
||||
Begin
|
||||
Result:=UINT(SendMessage((hwnd), LVM_MAPIDTOINDEX, id, LPARAM(0)));
|
||||
end;
|
||||
|
||||
function ListView_IsItemVisible(hwnd:hwnd; aindex:cuint):cuint;
|
||||
begin
|
||||
Result:=UINT(SendMessage((hwnd),LVM_ISITEMVISIBLE, WPARAM(aindex), LPARAM(0)));
|
||||
end;
|
||||
{$ENDIF}
|
||||
|
||||
{$ifdef win32vista}
|
||||
|
||||
function ListView_SetGroupHeaderImageList(hwnd:HWNd;himl:HIMAGELIST):HIMAGELIST;
|
||||
begin
|
||||
Result:=HIMAGELIST(SendMessage((hwnd),LVM_SETIMAGELIST, WPARAM(LVSIL_GROUPHEADER), LPARAM(HIMAGELIST((himl)))));
|
||||
end;
|
||||
|
||||
function ListView_GetGroupHeaderImageList(hwnd:HWND):HIMAGELIST;
|
||||
begin
|
||||
Result:=HIMAGELIST(SendMessage((hwnd),LVM_GETIMAGELIST, WPARAM(LVSIL_GROUPHEADER),LPARAM(0)));
|
||||
end;
|
||||
|
||||
function ListView_GetEmptyText(hwnd:HWND;pszText:LPWSTR; cchText:CUINT):BOOL;
|
||||
begin
|
||||
Result:=BOOL(SendMessage((hwnd),LVM_GETEMPTYTEXT, WPARAM(cchText), LPARAM(pszText)));
|
||||
end;
|
||||
|
||||
function ListView_GetFooterRect(hwnd:HWND; prc:PRECT):BOOL;
|
||||
begin
|
||||
Result:=BOOL(SendMessage((hwnd),LVM_GETFOOTERRECT, WPARAM(0), LPARAM(prc)));
|
||||
end;
|
||||
|
||||
function ListView_GetFooterInfo(hwnd:HWND;plvfi: LPLVFOOTERINFO ):BOOL;
|
||||
begin
|
||||
Result:=BOOL(SendMessage((hwnd),LVM_GETFOOTERINFO, WPARAM(0), LPARAM(plvfi)));
|
||||
end;
|
||||
|
||||
function ListView_GetFooterItemRect(hwnd:HWND;iItem:CUINT;prc:PRECT):BOOL;
|
||||
begin
|
||||
Result:=BOOL(SendMessage((hwnd),LVM_GETFOOTERITEMRECT, WPARAM(iItem), LPARAM(prc)));
|
||||
end;
|
||||
|
||||
function ListView_GetFooterItem(hwnd:HWND;iItem:CUINT; pfi:PLVFOOTERITEM):BOOL;
|
||||
begin
|
||||
Result:=BOOL(SendMessage((hwnd),LVM_GETFOOTERITEM, WPARAM(iItem), LPARAM(pfi)));
|
||||
end;
|
||||
|
||||
// (hwnd), LVM_GETITEMINDEXRECT, (WPARAM)(LVITEMINDEX*)(plvii), \
|
||||
// ((prc) ? ((((LPRECT)(prc))->top = (iSubItem)), (((LPRECT)(prc))->left = (code)), (LPARAM)(prc)) : (LPARAM)(LPRECT)NULL))
|
||||
|
||||
function ListView_GetItemIndexRect(hwnd:hwnd; plvii:PLVITEMINDEX; iSubItem:clong; code:clong; prc:LPRECT) :BOOL;
|
||||
begin
|
||||
if assigned(prc) then
|
||||
begin
|
||||
prc^.top:=iSubItem;
|
||||
prc^.left:=code;
|
||||
end;
|
||||
Result:=BOOL(SendMessage((hwnd), LVM_GETITEMINDEXRECT, WPARAM(pLVITEMINDEX(plvii)), LPARAM(PRC)));
|
||||
end;
|
||||
|
||||
function ListView_SetItemIndexState(hwndLV:HWND; plvii:PLVITEMINDEX; data:CUINT; mask:CUINT):HRESULT;
|
||||
var macro_lvi: LV_ITEM ;
|
||||
begin
|
||||
macro_lvi.stateMask := (mask);
|
||||
macro_lvi.state := (data);
|
||||
Result:=HRESULT(SendMessage((hwndLV),LVM_SETITEMINDEXSTATE, WPARAM(pLVITEMINDEX(plvii)), LPARAM(PLV_ITEM(@macro_lvi))));
|
||||
end;
|
||||
|
||||
function ListView_GetNextItemIndex(hwnd:HWND;plvii:PLVITEMINDEX; flags:LPARAM):BOOL;
|
||||
begin
|
||||
Result:=BOOL(SendMessage((hwnd),LVM_GETNEXTITEMINDEX, WPARAM(pLVITEMINDEX(plvii)), MAKELPARAM(flags, 0)));
|
||||
end;
|
||||
{$endif}
|
||||
|
||||
// Macro 154
|
||||
// #define ListView_SetBkImage(hwnd, plvbki) \
|
||||
// (BOOL)SNDMSG((hwnd), LVM_SETBKIMAGE, 0, (LPARAM)(plvbki))
|
||||
@ -11718,6 +12191,27 @@ Begin
|
||||
end;
|
||||
{$endif}
|
||||
|
||||
{$ifdef win32vista}
|
||||
function TreeView_GetSelectedCount(hwnd:hwnd):DWORD;
|
||||
Begin
|
||||
Result:=DWORD(SendMessage((hwnd),TVM_GETSELECTEDCOUNT, 0, 0));
|
||||
end;
|
||||
|
||||
function TreeView_ShowInfoTip(hwnd:HWND; hitem:HTREEITEM):DWORD;
|
||||
Begin
|
||||
Result:=DWORD(SendMessage((hwnd),TVM_SHOWINFOTIP, 0, LPARAM(hitem)));
|
||||
end;
|
||||
|
||||
function TreeView_GetItemPartRect(hwnd:HWND; hitem:HTREEITEM; prc:prect; partid:TVITEMPART):bool;
|
||||
var info : TVGETITEMPARTRECTINFO;
|
||||
Begin
|
||||
info.hti := (hitem);
|
||||
info.prc := (prc);
|
||||
info.partID := (partid);
|
||||
Result:=BOOL(SendMessage((hwnd), TVM_GETITEMPARTRECT, 0, LPARAM(@info)));
|
||||
end;
|
||||
{$endif}
|
||||
|
||||
// Macro 217
|
||||
|
||||
//#define TabCtrl_GetImageList(hwnd) \
|
||||
@ -12741,5 +13235,49 @@ Begin
|
||||
Result:=cint(SendMessage((hwnd), CB_GETMINVISIBLE, 0, 0))
|
||||
end;
|
||||
|
||||
{$ifdef win32vista}
|
||||
function TreeView_GetNextSelected(hwnd:hwnd; hitem:HTREEITEM):HTREEITEM;inline;
|
||||
begin
|
||||
result:=TreeView_GetNextItem(hwnd, hitem, TVGN_NEXTSELECTED)
|
||||
end;
|
||||
{$endif}
|
||||
|
||||
{$ifdef win32vista}
|
||||
function Button_SetDropDownState(hwnd:HWND; fDropDown:BOOL) : BOOL;
|
||||
Begin
|
||||
Result:=BOOL(SendMessage((hwnd), BCM_SETDROPDOWNSTATE, WPARAM(fDropDown), 0));
|
||||
end;
|
||||
|
||||
function Button_SetSplitInfo(hwnd:HWND; pInfo:PBUTTON_SPLITINFO):BOOL;
|
||||
Begin
|
||||
Result:=BOOL(SendMessage((hwnd), BCM_SETSPLITINFO, 0, LPARAM(pInfo)));
|
||||
end;
|
||||
|
||||
function Button_GetSplitInfo(hwnd:HWND; pInfo:PBUTTON_SPLITINFO) :BOOL;
|
||||
Begin
|
||||
Result:=BOOL(SendMessage((hwnd), BCM_GETSPLITINFO, 0, LPARAM(pInfo)));
|
||||
end;
|
||||
|
||||
function Button_SetNote(hwnd:HWND; psz:LPCWSTR) :BOOL;
|
||||
Begin
|
||||
Result:=BOOL(SendMessage((hwnd), BCM_SETNOTE, 0, LPARAM(psz)));
|
||||
end;
|
||||
|
||||
function Button_GetNote(hwnd:HWND; psz:LPCWSTR; pcc:cint) :BOOL;
|
||||
Begin
|
||||
Result:=BOOL(SendMessage((hwnd), BCM_GETNOTE, WPARAM(pcc), LPARAM(psz)));
|
||||
end;
|
||||
|
||||
function Button_GetNoteLength(hwnd:HWND) :LRESULT;
|
||||
Begin
|
||||
Result:=LRESULT(SendMessage((hwnd), BCM_GETNOTELENGTH, 0, 0));
|
||||
end;
|
||||
|
||||
// Macro to use on a button or command link to display an elevated icon
|
||||
|
||||
function Button_SetElevationRequiredState(hwnd:HWND; fRequired:BOOL) :LRESULT;
|
||||
Begin
|
||||
Result:=LRESULT(SendMessage((hwnd), BCM_SETSHIELD, 0, LPARAM(fRequired)));
|
||||
end;
|
||||
{$endif}
|
||||
End.
|
||||
|
Loading…
Reference in New Issue
Block a user