fpc/rtl/wince/wininc/commctrl.inc
yury 125136d069 * updated wince windows unit.
git-svn-id: trunk@6352 -
2007-02-07 08:22:25 +00:00

685 lines
25 KiB
PHP

{
This file is part of the Free Pascal run time library.
Copyright (c) 2006 Free Pascal development team.
See the file COPYING.FPC, included in this distribution,
for details about the copyright.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
**********************************************************************}
{ Declarations for commctrl WinCE API
}
{exported functions list = to do,
* please remove functions done *
Exports
ordinal name
73 AddMRUData
66 AddMRUStringA
67 AddMRUStringW
35 CenterWindow
11 CommandBar_GetItemWindow
63 CreateMRUListA
64 CreateMRUListW
15 CreateToolbar
50 DPA_Create
61 DPA_DeleteAllPtrs
60 DPA_DeletePtr
31 DPA_Destroy
56 DPA_DestroyCallback
32 DPA_GetPtr
62 DPA_GetPtrIndex
54 DPA_Grow
51 DPA_InsertPtr
59 DPA_Search
53 DPA_SetPtr
52 DPA_Sort
46 DSA_Clone
23 DSA_Create
30 DSA_DeleteAllItems
29 DSA_DeleteItem
24 DSA_Destroy
47 DSA_DestroyCallback
48 DSA_EnumCallback
25 DSA_GetItem
26 DSA_GetItemPtr
27 DSA_InsertItem
45 DSA_Search
28 DSA_SetItem
58 DSA_SetRange
57 DSA_Sort
68 DelMRUString
49 DoReaderMode
71 EnumMRUListA
72 EnumMRUListW
74 FindMRUData
69 FindMRUStringA
70 FindMRUStringW
65 FreeMRUList
22 InvertRect
55 IsCapEditAvailable
ListView_SetItemSpacing
75 PopulateComboWithMRU
76 PopulateMenuWithMRU
80 SHCreateDefaultGradient
79 SHDrawGradient
81 SHDrawText
77 SHGetSysColor
78 SHGetSystemMetrics
82 SHSetSysColors
83 SHSetSystemMetrics
34 StrToIntW
33 Str_SetPtrW
}
{$ifdef read_interface}
//*****************************************************************************
// consts
//*****************************************************************************
const
ComctlDLL = 'commctrl';
COMCTL32_VERSION=$020c;
// Common control shared messages
CCM_FIRST = $2000;
CCM_LAST = CCM_FIRST + $200;
CCM_SETBKCOLOR = CCM_FIRST + $1; // lParam is bkColor
CCM_SETVERSION = CCM_FIRST + $7;
CCM_GETVERSION = CCM_FIRST + $8;
//InitCommonControlEx
//I_IMAGENONE = -2; // Desktop listview uses this same value for I_IMAGENONE when (_WIN32_IE >= 0x0501)
//ICC_LISTVIEW_CLASSES = $00000001; // listview, header
//ICC_TREEVIEW_CLASSES = $00000002; // treeview, tooltips
//ICC_BAR_CLASSES = $00000004; // toolbar, statusbar, trackbar, tooltips
//ICC_TAB_CLASSES = $00000008; // tab, tooltips
//ICC_UPDOWN_CLASS = $00000010; // updown
//ICC_PROGRESS_CLASS = $00000020; // progress
ICC_ANIMATE_CLASS = $00000080; // animate
//ICC_WIN95_CLASSES = $0000007F;
//ICC_DATE_CLASSES = $00000100; // month picker, date picker, time picker, updown
//ICC_COOL_CLASSES = $00000400; // rebar (coolbar) control
//ICC_INTERNET_CLASSES = $00000800; // IP Address control
//ICC_TOOLTIP_CLASSES = $00001000; // Tooltip static & button
//ICC_CAPEDIT_CLASS = $00002000; // All-caps edit control
//ICC_FE_CLASSES = $40000000; // FE specific input subclasses
LVM_FIRST = $1000; // ListView messages
TV_FIRST = $1100; // TreeView messages
HDM_FIRST = $1200; // Header messages
//Ranges for control message IDs
LVN_FIRST = (-100); // listview
LVN_LAST = (-199);
HDN_FIRST = (-300); // header
HDN_LAST = (-399);
TVN_FIRST = (-400); // treeview
TVN_LAST = (-499);
TTN_FIRST = (-520); // tooltips
TTN_LAST = (-549);
TCN_FIRST = (-550); // tab control
TCN_LAST = (-580);
// Shell reserved (0U-580U) - (0U-589U)
CDN_FIRST = (-601); // common dialog (new)
CDN_LAST = (-699);
TBN_FIRST = (-700); // toolbar
TBN_LAST = (-720);
UDN_FIRST = (-721); // updown
UDN_LAST = (-740);
MCN_FIRST = (-750); // monthcal
MCN_LAST = (-759);
RBN_FIRST = (-831); // rebar
RBN_LAST = (-859);
IPN_FIRST = (-860); // internet address
IPN_LAST = (-879); // internet address
SBN_FIRST = (-880); // status bar
SBN_LAST = (-900);
SHN_FIRST = (-1400); // Shell reserved
SHN_LAST = (-1500);
MSGF_COMMCTRL_BEGINDRAG = $4200;
MSGF_COMMCTRL_SIZEHEADER = $4201;
MSGF_COMMCTRL_DRAGSELECT = $4202;
//Generic WM_NOTIFY notification codes
NM_FIRST = 0;
NM_LAST = -99;
//NM_OUTOFMEMORY = (NM_FIRST-1);
//NM_CLICK = (NM_FIRST-2);
//NM_DBLCLK = (NM_FIRST-3);
//NM_RETURN = (NM_FIRST-4);
//NM_RCLICK = (NM_FIRST-5);
//NM_RDBLCLK = (NM_FIRST-6);
//NM_SETFOCUS = (NM_FIRST-7);
//NM_KILLFOCUS = (NM_FIRST-8);
NM_CUSTOMDRAW = (NM_FIRST-12);
NM_HOVER = (NM_FIRST-13);
NM_NCHITTEST = (NM_FIRST-14);
NM_KEYDOWN = (NM_FIRST-15);
NM_RECOGNIZEGESTURE = (NM_FIRST-50);
// DATETIMEPICK CONTROL
DATETIMEPICK_CLASS ='SysDateTimePick32';
DTM_FIRST = $1000;
DTM_GETSYSTEMTIME = DTM_FIRST + 1;
DTM_SETSYSTEMTIME = DTM_FIRST + 2;
DTM_GETRANGE = DTM_FIRST + 3;
DTM_SETRANGE = DTM_FIRST + 4;
DTM_SETFORMATA = DTM_FIRST + 5;
DTM_SETMCCOLOR = DTM_FIRST + 6;
DTM_GETMCCOLOR = DTM_FIRST + 7;
DTM_GETMONTHCAL = DTM_FIRST + 8;
DTM_SETMCFONT = DTM_FIRST + 9;
DTM_GETMCFONT = DTM_FIRST + 10;
DTM_SETFORMATW = DTM_FIRST + 50;
DTM_SETFORMAT = DTM_SETFORMATW;
DTS_UPDOWN = $0001;
DTS_SHOWNONE = $0002;
DTS_SHORTDATEFORMAT = $0000;
DTS_LONGDATEFORMAT = $0004;
DTS_SHORTDATECENTURYFORMAT = $000C;
DTS_TIMEFORMAT = $0009;
DTS_APPCANPARSE = $0010;
DTS_RIGHTALIGN = $0020;
DTS_NONEBUTTON = $0080;
//datetimepick
DTN_FIRST =-760;
DTN_LAST =-799;
DTN_DATETIMECHANGE = DTN_FIRST + 1;
DTN_USERSTRINGA = DTN_FIRST + 2;
DTN_WMKEYDOWNA = DTN_FIRST + 3;
DTN_FORMATA = DTN_FIRST + 4;
DTN_FORMATQUERYA = DTN_FIRST + 5;
DTN_DROPDOWN = DTN_FIRST + 6;
DTN_CLOSEUP = DTN_FIRST + 7;
DTN_USERSTRINGW = DTN_FIRST + 15;
DTN_WMKEYDOWNW = DTN_FIRST + 16;
DTN_FORMATW = DTN_FIRST + 17;
DTN_FORMATQUERYW = DTN_FIRST + 18;
DTN_USERSTRING = DTN_USERSTRINGW;
GDTR_MIN = $0001;
GDTR_MAX = $0002;
GDT_ERROR = -1;
GDT_VALID = 0;
GDT_NONE = 1;
//TOOLBAR CONTROL
//TOOLBARCLASSNAMEW = 'ToolbarWindow32';
//TOOLBARCLASSNAME = TOOLBARCLASSNAMEW;
TBIF_IMAGE = $00000001;
TBIF_TEXT = $00000002;
TBIF_STATE = $00000004;
TBIF_STYLE = $00000008;
TBIF_LPARAM = $00000010;
TBIF_COMMAND = $00000020;
TBIF_SIZE = $00000040;
// BUTTONINFO APIs
TB_GETBUTTONINFOW = (WM_USER + 63);
TB_SETBUTTONINFOW = (WM_USER + 64);
TB_GETBUTTONINFO = TB_GETBUTTONINFOW;
TB_SETBUTTONINFO = TB_SETBUTTONINFOW;
TB_INSERTBUTTONW = (WM_USER + 67);
TB_ADDBUTTONSW = (WM_USER + 68);
TB_HITTEST = (WM_USER + 69);
//TB_INSERTBUTTON = TB_INSERTBUTTONW;
//TB_ADDBUTTONS = TB_ADDBUTTONSW;
TB_SETDRAWTEXTFLAGS = (WM_USER + 70);
//TBN_GETBUTTONINFOW = (TBN_FIRST-20);
//TBN_BEGINDRAG = (TBN_FIRST-1);
//TBN_ENDDRAG = (TBN_FIRST-2);
TBN_DROPDOWN = (TBN_FIRST - 10);
TBN_DRAGOUT = (TBN_FIRST - 14);
//TBN_GETBUTTONINFO = TBN_GETBUTTONINFOW;
// custom draw return flags
// values under 0x00010000 are reserved for global custom draw values.
// above that are for specific controls
CDRF_DODEFAULT = $00000000;
CDRF_NEWFONT = $00000002;
CDRF_SKIPDEFAULT = $00000004;
CDRF_NOTIFYPOSTPAINT = $00000010;
CDRF_NOTIFYITEMDRAW = $00000020;
CDRF_NOTIFYSUBITEMDRAW = $00000020; // flags are the same, we can distinguish by context
CDRF_NOTIFYPOSTERASE = $00000040;
// drawstage flags
// values under = $00010000 are reserved for global custom draw values.
// above that are for specific controls
CDDS_PREPAINT = $00000001;
CDDS_POSTPAINT = $00000002;
CDDS_PREERASE = $00000003;
CDDS_POSTERASE = $00000004;
// the = $000010000 bit means it's individual item specific
CDDS_ITEM = $00010000;
CDDS_ITEMPREPAINT = CDDS_ITEM or CDDS_PREPAINT;
CDDS_ITEMPOSTPAINT = CDDS_ITEM or CDDS_POSTPAINT;
CDDS_ITEMPREERASE = CDDS_ITEM or CDDS_PREERASE;
CDDS_ITEMPOSTERASE = CDDS_ITEM or CDDS_POSTERASE;
CDDS_SUBITEM = $00020000;
// Pocket PC special controls
WC_CAPEDIT = 'CAPEDIT';
WC_TSTATIC = 'TTSTATIC';
WC_TBUTTON = 'TTBUTTON';
// for FE, single byte character edit
WC_SBEDIT = 'sbedit';
// REBAR CONTROL
REBARCLASSNAME = 'ReBarWindow';
RBIM_IMAGELIST = $00000001;
RBS_VARHEIGHT = $0200;
RBS_BANDBORDERS = $0400;
RBS_FIXEDORDER = $0800;
RBS_SMARTLABELS = $1000;
RBS_AUTOSIZE = $2000;
RBS_VERTICALGRIPPER = $4000; { this always has the vertical gripper (default for horizontal mode) }
RBBS_BREAK = $00000001; { break to new line }
RBBS_FIXEDSIZE = $00000002; { band can't be sized }
RBBS_CHILDEDGE = $00000004; { edge around top & bottom of child window }
RBBS_HIDDEN = $00000008; { don't show }
RBBS_NOVERT = $00000010; { don't show when vertical }
RBBS_FIXEDBMP = $00000020; { bitmap doesn't move during band resize }
RBBS_VARIABLEHEIGHT = $00000040; { allow autosizing of this child vertically }
RBBS_GRIPPERALWAYS = $00000080; { always show the gripper }
RBBS_NOGRIPPER = $00000100; { never show gripper for this band }
RBBIM_STYLE = $00000001;
RBBIM_COLORS = $00000002;
RBBIM_TEXT = $00000004;
RBBIM_IMAGE = $00000008;
RBBIM_CHILD = $00000010;
RBBIM_CHILDSIZE = $00000020;
RBBIM_SIZE = $00000040;
RBBIM_BACKGROUND = $00000080;
RBBIM_ID = $00000100;
RBBIM_IDEALSIZE = $00000200;
RBBIM_LPARAM = $00000400;
RB_DELETEBAND = WM_USER+2;
RB_GETBARINFO = WM_USER+3;
RB_SETBARINFO = WM_USER+4;
RB_SETPARENT = WM_USER+7;
RB_HITTEST = WM_USER+8;
RB_GETRECT = WM_USER+9;
RB_INSERTBANDW = WM_USER+10;
RB_SETBANDINFOW = WM_USER+11;
RB_GETBANDCOUNT = WM_USER+12;
RB_GETROWCOUNT = WM_USER+13;
RB_GETROWHEIGHT = WM_USER+14;
RB_IDTOINDEX = WM_USER+16; { wParam == id }
RB_SETBKCOLOR = WM_USER+19; { sets the default BK color }
RB_GETBKCOLOR = WM_USER+20; { defaults to CLR_NONE }
RB_SETTEXTCOLOR = WM_USER+21;
RB_GETTEXTCOLOR = WM_USER+22; { defaults to 0x00000000 }
RB_SIZETORECT = WM_USER+23; { resize the rebar/break bands and such to this rect (lparam) }
RB_INSERTBAND = RB_INSERTBANDW;
RB_SETBANDINFO = RB_SETBANDINFOW;
RB_BEGINDRAG = WM_USER+24;
RB_ENDDRAG = WM_USER+25;
RB_DRAGMOVE = WM_USER+26;
RB_GETBARHEIGHT = WM_USER+27;
RB_GETBANDINFOW = WM_USER+28;
RB_GETBANDINFO = RB_GETBANDINFOW;
RB_MINIMIZEBAND = WM_USER+30;
RB_MAXIMIZEBAND = WM_USER+31;
RB_GETBANDBORDERS = WM_USER+34; { returns in lparam = lprc the amount of edges added to band wparam }
RB_SHOWBAND = WM_USER+35; { show/hide band }
RB_MOVEBAND = WM_USER+36;
RBN_HEIGHTCHANGE = RBN_FIRST-0;
RBN_LAYOUTCHANGED = RBN_FIRST-2;
RBN_AUTOSIZE = RBN_FIRST-3;
RBN_BEGINDRAG = RBN_FIRST-4;
RBN_ENDDRAG = RBN_FIRST-5;
RBHT_NOWHERE = $0001;
RBHT_CAPTION = $0002;
RBHT_CLIENT = $0003;
RBHT_GRABBER = $0004;
//*****************************************************************************
// types
//*****************************************************************************
type
// DATETIMEPICK CONTROL
tagNMDATETIMECHANGE = record
nmhdr : NMHDR;
dwFlags : DWORD;
st : SYSTEMTIME;
end;
NMDATETIMECHANGE=tagNMDATETIMECHANGE;
TNMDATETIMECHANGE=tagNMDATETIMECHANGE;
LPNMDATETIMECHANGE=^tagNMDATETIMECHANGE;
tagNMDATETIMESTRINGW = record
nmhdr : NMHDR;
pszUserString : LPCWSTR;
st : SYSTEMTIME;
dwFlags : DWORD;
end;
NMDATETIMESTRINGW=tagNMDATETIMESTRINGW;
TNMDATETIMESTRINGW=tagNMDATETIMESTRINGW;
LPNMDATETIMESTRINGW=^tagNMDATETIMESTRINGW;
NMDATETIMESTRING=tagNMDATETIMESTRINGW;
TNMDATETIMESTRING=tagNMDATETIMESTRINGW;
PNMDATETIMESTRING=^tagNMDATETIMESTRINGW;
tagNMDATETIMEWMKEYDOWNA = record
nmhdr : NMHDR;
nVirtKey : integer;
pszFormat : LPCSTR;
st : SYSTEMTIME;
end;
NMDATETIMEWMKEYDOWNA=tagNMDATETIMEWMKEYDOWNA;
TNMDATETIMEWMKEYDOWNA=tagNMDATETIMEWMKEYDOWNA;
LPNMDATETIMEWMKEYDOWNA=^tagNMDATETIMEWMKEYDOWNA;
tagNMDATETIMEWMKEYDOWNW = record
nmhdr : NMHDR;
nVirtKey : integer;
pszFormat : LPCWSTR;
st : SYSTEMTIME;
end;
NMDATETIMEWMKEYDOWNW=tagNMDATETIMEWMKEYDOWNW;
TNMDATETIMEWMKEYDOWNW=tagNMDATETIMEWMKEYDOWNW;
LPNMDATETIMEWMKEYDOWNW=^tagNMDATETIMEWMKEYDOWNW;
tagNMDATETIMEFORMATA = record
nmhdr : NMHDR;
pszFormat : LPCSTR;
st : SYSTEMTIME;
pszDisplay : LPCSTR;
szDisplay : Array[0..63] of CHAR;
end;
NMDATETIMEFORMATA=tagNMDATETIMEFORMATA;
TNMDATETIMEFORMATA=tagNMDATETIMEFORMATA;
LPNMDATETIMEFORMATA=^NMDATETIMEFORMATA;
tagNMDATETIMEFORMATW = record
nmhdr : NMHDR;
pszFormat : LPCWSTR;
st : SYSTEMTIME;
pszDisplay : LPCWSTR;
szDisplay : Array[0..63] of WCHAR;
end;
NMDATETIMEFORMATW=tagNMDATETIMEFORMATW;
TNMDATETIMEFORMATW=tagNMDATETIMEFORMATW;
LPNMDATETIMEFORMATW=^NMDATETIMEFORMATW;
tagNMDATETIMEFORMATQUERYA = record
nmhdr : NMHDR;
pszFormat : LPCSTR;
szMax : SIZE;
end;
NMDATETIMEFORMATQUERYA=tagNMDATETIMEFORMATQUERYA;
TNMDATETIMEFORMATQUERYA=tagNMDATETIMEFORMATQUERYA;
LPNMDATETIMEFORMATQUERYA=^tagNMDATETIMEFORMATQUERYA;
tagNMDATETIMEFORMATQUERYW = record
nmhdr : NMHDR;
pszFormat : LPCWSTR;
szMax : SIZE;
end;
NMDATETIMEFORMATQUERYW=tagNMDATETIMEFORMATQUERYW;
TNMDATETIMEFORMATQUERYW=tagNMDATETIMEFORMATQUERYW;
LPNMDATETIMEFORMATQUERYW=^tagNMDATETIMEFORMATQUERYW;
//Generic structure for a key
tagNMKEY = Record
hdr : NMHDR;
wVKey : WORD;
flags : UINT;
end;
NMKEY=tagNMKEY;
LPNMKEY=^NMKEY;
//Generic WM_NOTIFY notification structures
tagNMMOUSE = Record
hdr : NMHDR;
dwItemSpec : DWORD;
dwItemData : DWORD;
pt : POINT;
end;
NMMOUSE=tagNMMOUSE;
LPNMMOUSE=^NMMOUSE;
PNMMOUSE=^NMMOUSE;
NMCLICK=NMMOUSE;
LPNMCLICK=LPNMMOUSE;
//TOOLBAR CONTROL
TBBUTTONINFOW = record
cbSize : UINT;
dwMask : DWORD;
idCommand : Longint;
iImage : Longint;
fsState : BYTE;
fsStyle : BYTE;
cx : WORD;
lParam : DWORD;
pszText : LPWSTR;
cchText : Longint;
end;
LPTBBUTTONINFOW=^TBBUTTONINFOW;
TBBUTTONINFO=TBBUTTONINFOW;
TTBButtonInfo=TBBUTTONINFO;
tagNMCUSTOMDRAWINFO = packed record
hdr: TNMHdr;
dwDrawStage: DWORD;
hdc: HDC;
rc: TRect;
dwItemSpec: DWORD;
uItemState: UINT;
lItemlParam: LPARAM;
end;
PNMCustomDraw = ^TNMCustomDraw;
TNMCustomDraw = tagNMCUSTOMDRAWINFO;
tagNMLVCUSTOMDRAW = packed record
nmcd: TNMCustomDraw;
clrText: COLORREF;
clrTextBk: COLORREF;
iSubItem: Integer;
end;
PNMLVCustomDraw = ^TNMLVCustomDraw;
TNMLVCustomDraw = tagNMLVCUSTOMDRAW;
tagNMLVODSTATECHANGE = packed record
hdr: TNMHdr;
iFrom: Integer;
iTo: Integer;
uNewState: UINT;
uOldState: UINT;
end;
PNMLVODStateChange = ^TNMLVODStateChange;
TNMLVODStateChange = tagNMLVODSTATECHANGE;
tagREBARINFO = record
cbSize : UINT;
fMask : UINT;
himl : HIMAGELIST;
end;
REBARINFO = tagREBARINFO;
LPREBARINFO = ^tagREBARINFO;
tagREBARBANDINFOW = record
cbSize : UINT;
fMask : UINT;
fStyle : UINT;
clrFore : COLORREF;
clrBack : COLORREF;
lpText : LPWSTR;
cch : UINT;
iImage : longint;
hwndChild : HWND;
cxMinChild : UINT;
cyMinChild : UINT;
cx : UINT;
hbmBack : HBITMAP;
wID : UINT;
cyChild : UINT;
cyMaxChild : UINT;
cyIntegral : UINT;
cxIdeal : UINT;
lParam : LPARAM;
end;
REBARBANDINFOW = tagREBARBANDINFOW;
LPREBARBANDINFOW = ^tagREBARBANDINFOW;
LPCREBARBANDINFOW = REBARBANDINFOW;
REBARBANDINFO = REBARBANDINFOW;
LPREBARBANDINFO = LPREBARBANDINFOW;
LPCREBARBANDINFO = LPCREBARBANDINFOW;
tagNMREBAR = record
hdr : NMHDR;
uBand : UINT;
wID : UINT;
cyChild : UINT;
cyBand : UINT;
end;
NMREBAR = tagNMREBAR;
LPNMREBAR = ^tagNMREBAR;
tagNMRBAUTOSIZE = record
hdr : NMHDR;
fChanged : BOOL;
rcTarget : RECT;
rcActual : RECT;
end;
NMRBAUTOSIZE = tagNMRBAUTOSIZE;
LPNMRBAUTOSIZE = ^tagNMRBAUTOSIZE;
_RB_HITTESTINFO = record
pt : POINT;
flags : UINT;
iBand : longint;
end;
RBHITTESTINFO = _RB_HITTESTINFO;
LPRBHITTESTINFO = ^_RB_HITTESTINFO;
tagCOMMANDBANDSRESTOREINFO = record
cbSize : UINT;
wID : UINT;
fStyle : UINT;
cxRestored : UINT;
fMaximized : BOOL;
end;
COMMANDBANDSRESTOREINFO = tagCOMMANDBANDSRESTOREINFO;
LPCOMMANDBANDSRESTOREINFO = ^tagCOMMANDBANDSRESTOREINFO;
LPCCOMMANDBANDSRESTOREINFO = COMMANDBANDSRESTOREINFO;
//*****************************************************************************
// functions
//*****************************************************************************
function CreatePropertySheetPage(lppsp:LPCPROPSHEETPAGE):HPROPSHEETPAGE; external ComctlDLL name 'CreatePropertySheetPageW';
function CreatePropertySheetPageW(lppsp:LPCPROPSHEETPAGE):HPROPSHEETPAGE; external ComctlDLL name 'CreatePropertySheetPageW';
function CreateStatusWindow(style:LONG; lpszText:LPCWSTR; hwndParent:HWND; wID:UINT):HWND; external ComctlDll name 'CreateStatusWindowW';
function CreateStatusWindowW(style:LONG; lpszText:LPCWSTR; hwndParent:HWND; wID:UINT):HWND; external ComctlDll name 'CreateStatusWindowW';
function CreateToolbarEx(hwnd:HWND; ws:DWORD; wID:UINT; nBitmaps:longint; hBMInst:HINST;wBMID:UINT; lpButtons:LPCTBBUTTON; iNumButtons:longint; dxButton:longint; dyButton:longint;dxBitmap:longint;
dyBitmap:longint; uStructSize:UINT):HWND; external ComctlDLL name 'CreateToolbarEx';
function CreateUpDownControl(dwStyle:DWORD; x:longint; y:longint; cx:longint; cy:longint;hParent:HWND; nID:longint; hInst:HINST; hBuddy:HWND; nUpper:longint;nLower:longint; nPos:longint):HWND; external ComctlDLL name 'CreateUpDownControl';
function DestroyPropertySheetPage(hPSPage:HPROPSHEETPAGE):WINBOOL; external ComctlDLL name 'DestroyPropertySheetPage';
procedure DrawStatusText(hDC:HDC; lprc:LPRECT; pszText:LPCWSTR; uFlags:UINT); external ComctlDLL name 'DrawStatusTextW';
procedure DrawStatusTextW(hDC:HDC; lprc:LPRECT; pszText:LPCWSTR; uFlags:UINT); external ComctlDLL name 'DrawStatusTextW';
procedure InitCommonControls; external ComctlDLL name 'InitCommonControls';
function InitCommonControlsEx(_para1:LPINITCOMMONCONTROLSEX):WINBOOL; external ComctlDLL name 'InitCommonControlsEx';
function PropertySheet(lppsph:LPCPROPSHEETHEADER):longint; external ComctlDll name 'PropertySheetW';
function PropertySheetW(lppsph:LPCPROPSHEETHEADER):longint; external ComctlDll name 'PropertySheetW';
function CommandBands_AddAdornments(hwndCmdBands:HWND; hinst:THandle; dwFlags:DWORD; prbbi:LPREBARBANDINFO):BOOL;external ComctlDll name 'CommandBands_AddAdornments';
function CommandBands_AddBands(hwndCmdBands:HWND; hinst:THandle; cBands:UINT; prbbi:LPREBARBANDINFO):BOOL;external ComctlDll name 'CommandBands_AddBands';
function CommandBands_Create(hinst:THandle; hwndParent:HWND; wID:UINT; dwStyles:DWORD; himl:HIMAGELIST):HWND;external ComctlDll name 'CommandBands_Create';
function CommandBands_GetCommandBar(hwndCmdBands:HWND; uBand:UINT):HWND;external ComctlDll name 'CommandBands_GetCommandBar';
function CommandBands_GetRestoreInformation(hwndCmdBands:HWND; uBand:UINT; pcbri:LPCOMMANDBANDSRESTOREINFO):BOOL;external ComctlDll name 'CommandBands_GetRestoreInformation';
function CommandBands_Show(hwndCmdBands:HWND; fShow:BOOL):BOOL;external ComctlDll name 'CommandBands_Show';
function CommandBar_AddAdornments(hwndCB:HWND; dwFlags:DWORD; dwReserved:DWORD):BOOL;external ComctlDll name 'CommandBar_AddAdornments';
function CommandBar_AddBitmap(hwndCB:HWND; hInst:THandle; idBitmap:longint; iNumImages:longint; iImageWidth:longint; iImageHeight:longint):longint;external ComctlDll name 'CommandBar_AddBitmap';
function CommandBar_Create(hInst:THandle; hwndParent:HWND; idCmdBar:longint):HWND;external ComctlDll name 'CommandBar_Create';
function CommandBar_DrawMenuBar(hwndCB:HWND; iButton:WORD):BOOL;external ComctlDll name 'CommandBar_DrawMenuBar';
function CommandBar_GetMenu(hwndCB:HWND; iButton:WORD):HMENU;external ComctlDll name 'CommandBar_GetMenu';
function CommandBar_Height(hwndCB:HWND):longint;external ComctlDll name 'CommandBar_Height';
function CommandBar_InsertComboBox(hwndCB:HWND; THandle:THandle; iWidth:longint; dwStyle:UINT; idComboBox:WORD; iButton:WORD):HWND;external ComctlDll name 'CommandBar_InsertComboBox';
function CommandBar_InsertMenubar(hwndCB:HWND; hInst:THandle; idMenu:WORD; iButton:WORD):BOOL;external ComctlDll name 'CommandBar_InsertMenubar';
function CommandBar_InsertMenubarEx(hwndCB:HWND; hinst:THandle; pszMenu:LPTSTR; iButton:WORD):BOOL;external ComctlDll name 'CommandBar_InsertMenubarEx';
function CommandBar_Show(hwndCB:HWND; fShow:BOOL):BOOL;external ComctlDll name 'CommandBar_Show';
function IsCommandBarMessage(hwndCB:HWND; lpMsg:LPMSG):BOOL;external ComctlDll name 'IsCommandBarMessage';
procedure CommandBar_Destroy(hwndCB : HWND);
function CommandBar_IsVisible(hwndCB : HWND) : BOOL;
function CommandBar_AddButtons(hwndCB : HWND; cbButtons : UINT; lpButtons : LPTBBUTTON) : BOOL;
function CommandBar_InsertButton(hwndCB : HWND; iButton : longint; lpButton : LPTBBUTTON) : BOOL;
function CommandBar_AddToolTips(hwndCB: HWND; cbToolTips : UINT; lpToolTipsStrings : LPTSTR) : BOOL;
function CommandBands_Height(hwndCmdBands : HWND) : UINT;
function CommandBands_IsVisible(hwndCmdBands : HWND) : BOOL;
{$endif read_interface}
{$ifdef read_implementation}
procedure CommandBar_Destroy(hwndCB : HWND);
begin
DestroyWindow(hwndCB);
end;
function CommandBar_IsVisible(hwndCB : HWND) : BOOL;
begin
CommandBar_IsVisible:=IsWindowVisible(hwndCB);
end;
function CommandBar_AddButtons(hwndCB : HWND; cbButtons : UINT; lpButtons : LPTBBUTTON) : BOOL;
begin
CommandBar_AddButtons:=BOOL(SendMessage(hwndCB,TB_ADDBUTTONS,WPARAM(cbButtons),LPARAM(lpButtons)));
end;
function CommandBar_InsertButton(hwndCB : HWND; iButton : longint; lpButton : LPTBBUTTON) : BOOL;
begin
CommandBar_InsertButton:=BOOL(SendMessage(hwndCB,TB_INSERTBUTTON,WPARAM(iButton),LPARAM(lpButton)));
end;
function CommandBar_AddToolTips(hwndCB: HWND; cbToolTips : UINT; lpToolTipsStrings : LPTSTR) : BOOL;
begin
CommandBar_AddToolTips:=BOOL(SendMessage(hwndCB,TB_SETTOOLTIPS,WPARAM(cbToolTips),LPARAM(lpToolTipsStrings)));
end;
function CommandBands_Height(hwndCmdBands : HWND) : UINT;
begin
CommandBands_Height:=UINT(SendMessage(hwndCmdBands,RB_GETBARHEIGHT,0,0));
end;
function CommandBands_IsVisible(hwndCmdBands : HWND) : BOOL;
begin
CommandBands_IsVisible:=IsWindowVisible(hwndCmdBands);
end;
{$endif read_implementation}