123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822 |
- {
- This file is part of the Free Pascal run time library.
- Copyright (c) 2006-2008 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
- }
- unit commctrl;
- interface
- uses windows;
- {$calling cdecl}
- //*****************************************************************************
- // 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);
- { Header control notifications }
- HDN_BEGINTRACKW = HDN_FIRST-26;
- HDN_DIVIDERDBLCLICKW = HDN_FIRST-25;
- HDN_ENDTRACKW = HDN_FIRST-27;
- HDN_ITEMCHANGEDW = HDN_FIRST-21;
- HDN_ITEMCHANGINGW = HDN_FIRST-20;
- HDN_ITEMCLICKW = HDN_FIRST-22;
- HDN_ITEMDBLCLICKW = HDN_FIRST-23;
- HDN_TRACKW = HDN_FIRST-28;
- HDN_GETDISPINFOW = HDN_FIRST-29;
- HDN_BEGINDRAG = HDN_FIRST-10;
- HDN_ENDDRAG = HDN_FIRST-11;
- HDN_BEGINTRACK = HDN_BEGINTRACKW;
- HDN_DIVIDERDBLCLICK = HDN_DIVIDERDBLCLICKW;
- HDN_ENDTRACK = HDN_ENDTRACKW;
- HDN_ITEMCHANGED = HDN_ITEMCHANGEDW;
- HDN_ITEMCHANGING = HDN_ITEMCHANGINGW;
- HDN_ITEMCLICK = HDN_ITEMCLICKW;
- HDN_ITEMDBLCLICK = HDN_ITEMDBLCLICKW;
- HDN_TRACK = HDN_TRACKW;
- HDN_GETDISPINFO = HDN_GETDISPINFOW;
-
- // MONTHCAL CONTROL
- MONTHCAL_CLASS = 'SysMonthCal32';
- MCM_FIRST = $1000;
- MCM_GETCURSEL = MCM_FIRST + 1;
- MCM_SETCURSEL = MCM_FIRST + 2;
- MCM_GETMAXSELCOUNT = MCM_FIRST + 3;
- MCM_SETMAXSELCOUNT = MCM_FIRST + 4;
- MCM_GETSELRANGE = MCM_FIRST + 5;
- MCM_SETSELRANGE = MCM_FIRST + 6;
- MCM_GETMONTHRANGE = MCM_FIRST + 7;
- MCM_SETDAYSTATE = MCM_FIRST + 8;
- MCM_GETMINREQRECT = MCM_FIRST + 9;
- MCM_SETCOLOR = MCM_FIRST + 10;
- MCM_GETCOLOR = MCM_FIRST + 11;
- // color consts
- MCSC_BACKGROUND = 0; // the background color (between months)
- MCSC_TEXT = 1; // the dates
- MCSC_TITLEBK = 2; // background of the title
- MCSC_TITLETEXT = 3;
- MCSC_MONTHBK = 4; // background within the month cal
- MCSC_TRAILINGTEXT = 5; // the text color of header & trailing days
- MCM_SETTODAY = MCM_FIRST + 12;
- MCM_GETTODAY = MCM_FIRST + 13;
- MCM_HITTEST = MCM_FIRST + 14;
- // hittest contst
- MCHT_TITLE = $00010000;
- MCHT_CALENDAR = $00020000;
- MCHT_TODAYLINK = $00030000;
- MCHT_NONELINK = $00040000;
- MCHT_NEXT = $01000000; // these indicate that hitting
- MCHT_PREV = $02000000; // here will go to the next/prev month
- MCHT_NOWHERE = $00000000;
- MCHT_TITLEBK = MCHT_TITLE;
- MCHT_TITLEMONTH = MCHT_TITLE or $0001;
- MCHT_TITLEYEAR = MCHT_TITLE or $0002;
- MCHT_TITLEBTNNEXT = MCHT_TITLE or MCHT_NEXT or $0003;
- MCHT_TITLEBTNPREV = MCHT_TITLE or MCHT_PREV or $0003;
- MCHT_CALENDARBK = MCHT_CALENDAR;
- MCHT_CALENDARDATE = MCHT_CALENDAR or $0001;
- MCHT_CALENDARDATENEXT = MCHT_CALENDARDATE or MCHT_NEXT;
- MCHT_CALENDARDATEPREV = MCHT_CALENDARDATE or MCHT_PREV;
- MCHT_CALENDARDAY = MCHT_CALENDAR or $0002;
- MCHT_CALENDARWEEKNUM = MCHT_CALENDAR or $0003;
- MCM_SETFIRSTDAYOFWEEK = MCM_FIRST + 15;
- MCM_GETFIRSTDAYOFWEEK = MCM_FIRST + 16;
- MCM_GETRANGE = MCM_FIRST + 17;
- MCM_SETRANGE = MCM_FIRST + 18;
- MCM_GETMONTHDELTA = MCM_FIRST + 19;
- MCM_SETMONTHDELTA = MCM_FIRST + 20;
- MCM_GETMAXTODAYWIDTH = MCM_FIRST + 21;
- MCM_GETMAXNONEWIDTH = MCM_FIRST + 22;
- // notifications
- MCN_SELCHANGE = MCN_FIRST + 1;
- MCN_GETDAYSTATE = MCN_FIRST + 3;
- MCN_SELECT = MCN_FIRST + 4;
- MCN_SELECTNONE = MCN_FIRST + 5;
- // control styles
- MCS_DAYSTATE = $0001;
- MCS_MULTISELECT = $0002;
- MCS_WEEKNUMBERS = $0004;
- MCS_SHOWNONE = $0080;
- MCS_NOTODAYCIRCLE = $0008;
- MCS_NOTODAY = $0010;
- GMR_VISIBLE = 0; // visible portion of display
- GMR_DAYSTATE = 1; // above plus the grayed out parts of
- // partially displayed months
- // 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;
- CMDBAR_HELP = $000B;
- CMDBAR_OK = $F000;
- //*****************************************************************************
- // types
- //*****************************************************************************
- type
- // MONTHCAL CONTROL
- MONTHDAYSTATE = DWORD;
- LPMONTHDAYSTATE = ^MONTHDAYSTATE;
- TMonthDayState = MONTHDAYSTATE;
- PMonthDayState = LPMONTHDAYSTATE;
- MCHITTESTINFO = record
- cbSize: UINT;
- pt : POINT;
- uHit : UINT; // out param
- st : SYSTEMTIME;
- end;
- TMCMHITTESTINFO = MCHITTESTINFO;
- PMCMHitTestInfo = ^MCHITTESTINFO;
- tagNMSELCHANGE = record
- nmhdr : NMHDR; // this must be first, so we don't break WM_NOTIFY
- stSelStart: SYSTEMTIME;
- stSelEnd : SYSTEMTIME;
- end;
- NMSELCHANGE = tagNMSELCHANGE;
- TNMSELCHANGE = tagNMSELCHANGE;
- LPNMSELCHANGE = ^tagNMSELCHANGE;
- tagNMDAYSTATE = record
- nmhdr : NMHDR; // this must be first, so we don't break WM_NOTIFY
- stStart : SYSTEMTIME;
- cDayState : longint;
- prgDayState: LPMONTHDAYSTATE; // points to cDayState MONTHDAYSTATEs
- end;
- NMDAYSTATE = tagNMDAYSTATE;
- TNMDAYSTATE = tagNMDAYSTATE;
- LPNMDAYSTATE = ^tagNMDAYSTATE;
- // 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 : longint;
- pszFormat : LPCSTR;
- st : SYSTEMTIME;
- end;
- NMDATETIMEWMKEYDOWNA=tagNMDATETIMEWMKEYDOWNA;
- TNMDATETIMEWMKEYDOWNA=tagNMDATETIMEWMKEYDOWNA;
- LPNMDATETIMEWMKEYDOWNA=^tagNMDATETIMEWMKEYDOWNA;
- tagNMDATETIMEWMKEYDOWNW = record
- nmhdr : NMHDR;
- nVirtKey : longint;
- 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 = record
- hdr: TNMHdr;
- dwDrawStage: DWORD;
- hdc: HDC;
- rc: TRect;
- dwItemSpec: DWORD;
- uItemState: UINT;
- lItemlParam: LPARAM;
- end;
- PNMCustomDraw = ^TNMCustomDraw;
- TNMCustomDraw = tagNMCUSTOMDRAWINFO;
-
- tagNMLVCUSTOMDRAW = record
- nmcd: TNMCustomDraw;
- clrText: COLORREF;
- clrTextBk: COLORREF;
- iSubItem: longint;
- end;
- PNMLVCustomDraw = ^TNMLVCustomDraw;
- TNMLVCustomDraw = tagNMLVCUSTOMDRAW;
-
- tagNMLVODSTATECHANGE = record
- hdr: TNMHdr;
- iFrom: longint;
- iTo: longint;
- 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;
- 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;
- end.
|