1 ////////////////////////////////////////////////////////////////////////////
\r
2 // this part of unit contains definitions moved here from CommCtrl.pas
\r
3 // (using of CommCtrl.pas in Delphi3 leads to increase size of executable
\r
7 PTCItemA = ^TTCItemA;
\r
8 PTCItemW = ^TTCItemW;
\r
10 tagTCITEMA = packed record
\r
15 cchTextMax: Integer;
\r
19 tagTCITEMW = packed record
\r
24 cchTextMax: Integer;
\r
29 PTCKeyDown = ^TTCKeyDown;
\r
30 TTCKEYDOWN = packed record
\r
36 tagTCITEM = tagTCITEMA;
\r
37 _TC_ITEMA = tagTCITEMA;
\r
38 _TC_ITEMW = tagTCITEMW;
\r
39 _TC_ITEM = _TC_ITEMA;
\r
40 TTCItemA = tagTCITEMA;
\r
41 TTCItemW = tagTCITEMW;
\r
43 TC_ITEMA = tagTCITEMA;
\r
44 TC_ITEMW = tagTCITEMW;
\r
49 CCM_FIRST = $2000; { Common control shared messages }
\r
50 CCM_SETBKCOLOR = CCM_FIRST + 1; // lParam is bkColor
\r
51 CCM_SETCOLORSCHEME = CCM_FIRST + 2; // lParam is color scheme
\r
52 CCM_GETCOLORSCHEME = CCM_FIRST + 3; // fills in COLORSCHEME pointed to by lParam
\r
53 CCM_GETDROPTARGET = CCM_FIRST + 4;
\r
54 CCM_SETUNICODEFORMAT = CCM_FIRST + 5;
\r
55 CCM_GETUNICODEFORMAT = CCM_FIRST + 6;
\r
57 TCS_SCROLLOPPOSITE = $0001; // assumes multiline tab
\r
60 TCS_MULTISELECT = $0004; // allow multi-select in button mode
\r
61 TCS_FLATBUTTONS = $0008;
\r
62 TCS_FORCEICONLEFT = $0010;
\r
63 TCS_FORCELABELLEFT = $0020;
\r
64 TCS_HOTTRACK = $0040;
\r
65 TCS_VERTICAL = $0080;
\r
67 TCS_BUTTONS = $0100;
\r
68 TCS_SINGLELINE = $0000;
\r
69 TCS_MULTILINE = $0200;
\r
70 TCS_RIGHTJUSTIFY = $0000;
\r
71 TCS_FIXEDWIDTH = $0400;
\r
72 TCS_RAGGEDRIGHT = $0800;
\r
73 TCS_FOCUSONBUTTONDOWN = $1000;
\r
74 TCS_OWNERDRAWFIXED = $2000;
\r
75 TCS_TOOLTIPS = $4000;
\r
76 TCS_FOCUSNEVER = $8000;
\r
78 TCS_EX_FLATSEPARATORS = $00000001;
\r
79 TCS_EX_REGISTERDROP = $00000002;
\r
81 TCM_FIRST = $1300; { Tab control messages }
\r
82 TCM_GETIMAGELIST = TCM_FIRST + 2;
\r
83 TCM_SETIMAGELIST = TCM_FIRST + 3;
\r
84 TCM_GETITEMCOUNT = TCM_FIRST + 4;
\r
85 TCM_GETITEMA = TCM_FIRST + 5;
\r
86 TCM_SETITEMA = TCM_FIRST + 6;
\r
87 TCM_INSERTITEMA = TCM_FIRST + 7;
\r
88 TCM_DELETEITEM = TCM_FIRST + 8;
\r
89 TCM_DELETEALLITEMS = TCM_FIRST + 9;
\r
90 TCM_GETITEMRECT = TCM_FIRST + 10;
\r
91 TCM_GETCURSEL = TCM_FIRST + 11;
\r
92 TCM_SETCURSEL = TCM_FIRST + 12;
\r
93 TCM_HITTEST = TCM_FIRST + 13;
\r
94 TCM_SETITEMEXTRA = TCM_FIRST + 14;
\r
95 TCM_ADJUSTRECT = TCM_FIRST + 40;
\r
96 TCM_SETITEMSIZE = TCM_FIRST + 41;
\r
97 TCM_REMOVEIMAGE = TCM_FIRST + 42;
\r
98 TCM_SETPADDING = TCM_FIRST + 43;
\r
99 TCM_GETROWCOUNT = TCM_FIRST + 44;
\r
100 TCM_GETTOOLTIPS = TCM_FIRST + 45;
\r
101 TCM_SETTOOLTIPS = TCM_FIRST + 46;
\r
102 TCM_GETCURFOCUS = TCM_FIRST + 47;
\r
103 TCM_SETCURFOCUS = TCM_FIRST + 48;
\r
104 TCM_SETMINTABWIDTH = TCM_FIRST + 49;
\r
105 TCM_DESELECTALL = TCM_FIRST + 50;
\r
106 TCM_HIGHLIGHTITEM = TCM_FIRST + 51;
\r
107 TCM_SETEXTENDEDSTYLE = TCM_FIRST + 52; // optional wParam == mask
\r
108 TCM_GETEXTENDEDSTYLE = TCM_FIRST + 53;
\r
109 TCM_GETITEMW = TCM_FIRST + 60;
\r
110 TCM_SETITEMW = TCM_FIRST + 61;
\r
111 TCM_INSERTITEMW = TCM_FIRST + 62;
\r
112 TCM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT;
\r
113 TCM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT;
\r
114 TCM_GETITEM = TCM_GETITEMA;
\r
115 TCM_SETITEM = TCM_SETITEMA;
\r
116 TCM_INSERTITEM = TCM_INSERTITEMA;
\r
118 TCN_FIRST = 0-550; { tab control }
\r
120 TCN_KEYDOWN = TCN_FIRST - 0;
\r
121 TCN_SELCHANGE = TCN_FIRST - 1;
\r
122 TCN_SELCHANGING = TCN_FIRST - 2;
\r
123 TCN_GETOBJECT = TCN_FIRST - 3;
\r
126 TCIF_IMAGE = $0002;
\r
127 TCIF_RTLREADING = $0004;
\r
128 TCIF_PARAM = $0008;
\r
129 TCIF_STATE = $0010;
\r
134 PBM_SETRANGE = WM_USER+1;
\r
135 PBM_SETPOS = WM_USER+2;
\r
136 PBM_DELTAPOS = WM_USER+3;
\r
137 PBM_SETSTEP = WM_USER+4;
\r
138 PBM_STEPIT = WM_USER+5;
\r
139 PBM_SETRANGE32 = WM_USER+6; // lParam = high, wParam = low
\r
140 PBM_GETRANGE = WM_USER+7; // lParam = PPBRange or Nil
\r
141 // wParam = False: Result = high
\r
142 // wParam = True: Result = low
\r
143 PBM_GETPOS = WM_USER+8;
\r
144 PBM_SETBARCOLOR = WM_USER+9; // lParam = bar color
\r
145 PBM_SETBKCOLOR = CCM_SETBKCOLOR; // lParam = bkColor
\r
147 SB_SETTEXTA = WM_USER+1;
\r
148 SB_GETTEXTA = WM_USER+2;
\r
149 SB_GETTEXTLENGTHA = WM_USER+3;
\r
150 SB_SETTIPTEXTA = WM_USER+16;
\r
151 SB_GETTIPTEXTA = WM_USER+18;
\r
153 SB_SETTEXTW = WM_USER+11;
\r
154 SB_GETTEXTW = WM_USER+13;
\r
155 SB_GETTEXTLENGTHW = WM_USER+12;
\r
156 SB_SETTIPTEXTW = WM_USER+17;
\r
157 SB_GETTIPTEXTW = WM_USER+19;
\r
159 SB_SETTEXT = SB_SETTEXTA;
\r
160 SB_GETTEXT = SB_GETTEXTA;
\r
161 SB_GETTEXTLENGTH = SB_GETTEXTLENGTHA;
\r
162 SB_SETTIPTEXT = SB_SETTIPTEXTA;
\r
163 SB_GETTIPTEXT = SB_GETTIPTEXTA;
\r
165 SB_SETPARTS = WM_USER+4;
\r
166 SB_GETPARTS = WM_USER+6;
\r
167 SB_GETBORDERS = WM_USER+7;
\r
168 SB_SETMINHEIGHT = WM_USER+8;
\r
169 SB_SIMPLE = WM_USER+9;
\r
170 SB_GETRECT = WM_USER + 10;
\r
171 SB_ISSIMPLE = WM_USER+14;
\r
172 SB_SETICON = WM_USER+15;
\r
173 SB_GETICON = WM_USER+20;
\r
174 SB_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT;
\r
175 SB_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT;
\r
177 SBT_OWNERDRAW = $1000;
\r
178 SBT_NOBORDERS = $0100;
\r
179 SBT_POPOUT = $0200;
\r
180 SBT_RTLREADING = $0400;
\r
181 SBT_TOOLTIPS = $0800;
\r
183 SB_SETBKCOLOR = CCM_SETBKCOLOR; // lParam = bkColor
\r
185 SBARS_SIZEGRIP = $0100;
\r
187 { List View Styles }
\r
189 LVS_REPORT = $0001;
\r
190 LVS_SMALLICON = $0002;
\r
193 LVS_TYPEMASK = $0003;
\r
194 LVS_SINGLESEL = $0004;
\r
195 LVS_SHOWSELALWAYS = $0008;
\r
196 LVS_SORTASCENDING = $0010;
\r
197 LVS_SORTDESCENDING = $0020;
\r
198 LVS_SHAREIMAGELISTS = $0040;
\r
199 LVS_NOLABELWRAP = $0080;
\r
200 LVS_AUTOARRANGE = $0100;
\r
201 LVS_EDITLABELS = $0200;
\r
202 LVS_OWNERDATA = $1000;
\r
203 LVS_NOSCROLL = $2000;
\r
205 LVS_TYPESTYLEMASK = $FC00;
\r
207 LVS_ALIGNTOP = $0000;
\r
208 LVS_ALIGNLEFT = $0800;
\r
209 LVS_ALIGNMASK = $0c00;
\r
211 LVS_OWNERDRAWFIXED = $0400;
\r
212 LVS_NOCOLUMNHEADER = $4000;
\r
213 LVS_NOSORTHEADER = $8000;
\r
215 { List View Extended Styles }
\r
216 LVS_EX_GRIDLINES = $00000001;
\r
217 LVS_EX_SUBITEMIMAGES = $00000002;
\r
218 LVS_EX_CHECKBOXES = $00000004;
\r
219 LVS_EX_TRACKSELECT = $00000008;
\r
220 LVS_EX_HEADERDRAGDROP = $00000010;
\r
221 LVS_EX_FULLROWSELECT = $00000020; // applies to report mode only
\r
222 LVS_EX_ONECLICKACTIVATE = $00000040;
\r
223 LVS_EX_TWOCLICKACTIVATE = $00000080;
\r
224 LVS_EX_FLATSB = $00000100;
\r
225 LVS_EX_REGIONAL = $00000200;
\r
226 LVS_EX_INFOTIP = $00000400; // listview does InfoTips for you
\r
227 LVS_EX_LABELTIP = $00004000;
\r
228 LVS_EX_UNDERLINEHOT = $00000800;
\r
229 LVS_EX_UNDERLINECOLD = $00001000;
\r
230 LVS_EX_MULTIWORKAREAS = $00002000;
\r
232 I_IMAGECALLBACK = -1;
\r
238 { List View column styles }
\r
240 LVCF_WIDTH = $0002;
\r
242 LVCF_SUBITEM = $0008;
\r
243 LVCF_IMAGE = $0010;
\r
244 LVCF_ORDER = $0020;
\r
245 LVSCW_AUTOSIZE = -1;
\r
246 LVSCW_AUTOSIZE_USEHEADER = -2;
\r
248 LVCFMT_LEFT = $0000;
\r
249 LVCFMT_RIGHT = $0001;
\r
250 LVCFMT_CENTER = $0002;
\r
251 LVCFMT_JUSTIFYMASK = $0003;
\r
253 LVCFMT_IMAGE = $0800;
\r
254 LVCFMT_BITMAP_ON_RIGHT = $1000;
\r
255 LVCFMT_COL_HAS_IMAGES = $8000;
\r
258 LVIF_IMAGE = $0002;
\r
259 LVIF_PARAM = $0004;
\r
260 LVIF_STATE = $0008;
\r
261 LVIF_INDENT = $0010;
\r
262 //LVIF_NORECOMPUTE = $0800;
\r
263 LVIF_DI_SETITEM = $1000;
\r
265 LVIS_FOCUSED = $0001;
\r
266 LVIS_SELECTED = $0002;
\r
268 LVIS_DROPHILITED = $0008;
\r
269 //LVIS_ACTIVATING = $0020;
\r
271 LVIS_OVERLAYMASK = $0F00;
\r
272 LVIS_STATEIMAGEMASK = $F000;
\r
274 { List View messages }
\r
275 LVM_FIRST = $1000; { ListView messages }
\r
276 LVM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT;
\r
277 LVM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT;
\r
278 LVM_GETBKCOLOR = LVM_FIRST + 0;
\r
279 LVM_SETBKCOLOR = LVM_FIRST + 1;
\r
280 LVM_GETIMAGELIST = LVM_FIRST + 2;
\r
281 LVM_SETIMAGELIST = LVM_FIRST + 3;
\r
282 LVM_GETITEMCOUNT = LVM_FIRST + 4;
\r
283 LVM_GETITEMA = LVM_FIRST + 5;
\r
284 LVM_SETITEMA = LVM_FIRST + 6;
\r
285 LVM_INSERTITEMA = LVM_FIRST + 7;
\r
286 LVM_DELETEITEM = LVM_FIRST + 8;
\r
287 LVM_DELETEALLITEMS = LVM_FIRST + 9;
\r
288 LVM_GETCALLBACKMASK = LVM_FIRST + 10;
\r
289 LVM_SETCALLBACKMASK = LVM_FIRST + 11;
\r
290 LVM_GETNEXTITEM = LVM_FIRST + 12;
\r
291 LVM_FINDITEMA = LVM_FIRST + 13;
\r
292 LVM_GETITEMRECT = LVM_FIRST + 14;
\r
293 LVM_SETITEMPOSITION = LVM_FIRST + 15;
\r
294 LVM_GETITEMPOSITION = LVM_FIRST + 16;
\r
295 LVM_GETSTRINGWIDTHA = LVM_FIRST + 17;
\r
296 LVM_HITTEST = LVM_FIRST + 18;
\r
297 LVM_ENSUREVISIBLE = LVM_FIRST + 19;
\r
298 LVM_SCROLL = LVM_FIRST + 20;
\r
299 LVM_REDRAWITEMS = LVM_FIRST + 21;
\r
300 LVM_ARRANGE = LVM_FIRST + 22;
\r
301 LVM_EDITLABELA = LVM_FIRST + 23;
\r
302 LVM_GETCOLUMNA = LVM_FIRST + 25;
\r
303 LVM_SETCOLUMNA = LVM_FIRST + 26;
\r
304 LVM_INSERTCOLUMNA = LVM_FIRST + 27;
\r
305 LVM_DELETECOLUMN = LVM_FIRST + 28;
\r
306 LVM_GETCOLUMNWIDTH = LVM_FIRST + 29;
\r
307 LVM_SETCOLUMNWIDTH = LVM_FIRST + 30;
\r
308 LVM_GETHEADER = LVM_FIRST + 31;
\r
310 LVM_CREATEDRAGIMAGE = LVM_FIRST + 33;
\r
311 LVM_GETVIEWRECT = LVM_FIRST + 34;
\r
312 LVM_GETTEXTCOLOR = LVM_FIRST + 35;
\r
313 LVM_SETTEXTCOLOR = LVM_FIRST + 36;
\r
314 LVM_GETTEXTBKCOLOR = LVM_FIRST + 37;
\r
315 LVM_SETTEXTBKCOLOR = LVM_FIRST + 38;
\r
316 LVM_GETTOPINDEX = LVM_FIRST + 39;
\r
317 LVM_GETCOUNTPERPAGE = LVM_FIRST + 40;
\r
318 LVM_GETORIGIN = LVM_FIRST + 41;
\r
319 LVM_UPDATE = LVM_FIRST + 42;
\r
320 LVM_SETITEMSTATE = LVM_FIRST + 43;
\r
321 LVM_GETITEMSTATE = LVM_FIRST + 44;
\r
322 LVM_GETITEMTEXTA = LVM_FIRST + 45;
\r
323 LVM_SETITEMTEXTA = LVM_FIRST + 46;
\r
324 LVM_SETITEMCOUNT = LVM_FIRST + 47;
\r
325 LVM_SORTITEMS = LVM_FIRST + 48;
\r
326 LVM_SETITEMPOSITION32 = LVM_FIRST + 49;
\r
327 LVM_GETSELECTEDCOUNT = LVM_FIRST + 50;
\r
328 LVM_GETITEMSPACING = LVM_FIRST + 51;
\r
329 LVM_GETISEARCHSTRINGA = LVM_FIRST + 52;
\r
330 LVM_SETICONSPACING = LVM_FIRST + 53;
\r
331 LVM_SETEXTENDEDLISTVIEWSTYLE = LVM_FIRST + 54;
\r
332 LVM_GETEXTENDEDLISTVIEWSTYLE = LVM_FIRST + 55;
\r
333 LVM_GETSUBITEMRECT = LVM_FIRST + 56;
\r
334 LVM_SUBITEMHITTEST = LVM_FIRST + 57;
\r
335 LVM_SETCOLUMNORDERARRAY = LVM_FIRST + 58;
\r
336 LVM_GETCOLUMNORDERARRAY = LVM_FIRST + 59;
\r
337 LVM_SETHOTITEM = LVM_FIRST + 60;
\r
338 LVM_GETHOTITEM = LVM_FIRST + 61;
\r
339 LVM_SETHOTCURSOR = LVM_FIRST + 62;
\r
340 LVM_GETHOTCURSOR = LVM_FIRST + 63;
\r
341 LVM_APPROXIMATEVIEWRECT = LVM_FIRST + 64;
\r
342 LVM_SETWORKAREA = LVM_FIRST + 65;
\r
343 LVM_GETSELECTIONMARK = LVM_FIRST + 66;
\r
344 LVM_SETSELECTIONMARK = LVM_FIRST + 67;
\r
345 LVM_SETBKIMAGEA = LVM_FIRST + 68;
\r
346 LVM_GETBKIMAGEA = LVM_FIRST + 69;
\r
347 LVM_GETWORKAREAS = LVM_FIRST + 70;
\r
348 LVM_SETHOVERTIME = LVM_FIRST + 71;
\r
349 LVM_GETHOVERTIME = LVM_FIRST + 72;
\r
350 LVM_GETNUMBEROFWORKAREAS = LVM_FIRST + 73;
\r
351 LVM_SETTOOLTIPS = LVM_FIRST + 74;
\r
352 LVM_GETITEMW = LVM_FIRST + 75;
\r
353 LVM_SETITEMW = LVM_FIRST + 76;
\r
354 LVM_INSERTITEMW = LVM_FIRST + 77;
\r
355 LVM_GETTOOLTIPS = LVM_FIRST + 78;
\r
357 LVM_SORTITEMSEX = LVM_FIRST + 81;
\r
359 LVM_FINDITEMW = LVM_FIRST + 83;
\r
360 LVM_GETSTRINGWIDTHW = LVM_FIRST + 87;
\r
362 LVM_GETCOLUMNW = LVM_FIRST + 95;
\r
363 LVM_SETCOLUMNW = LVM_FIRST + 96;
\r
364 LVM_INSERTCOLUMNW = LVM_FIRST + 97;
\r
366 LVM_GETITEMTEXTW = LVM_FIRST + 115;
\r
367 LVM_SETITEMTEXTW = LVM_FIRST + 116;
\r
368 LVM_GETISEARCHSTRINGW = LVM_FIRST + 117;
\r
369 LVM_EDITLABELW = LVM_FIRST + 118;
\r
371 LVM_SETBKIMAGEW = LVM_FIRST + 138;
\r
372 LVM_GETBKIMAGEW = LVM_FIRST + 139;
\r
374 LVM_GETITEM = LVM_GETITEMA;
\r
375 LVM_SETITEM = LVM_SETITEMA;
\r
376 LVM_INSERTITEM = LVM_INSERTITEMA;
\r
377 LVM_GETCOLUMN = LVM_GETCOLUMNA;
\r
378 LVM_SETCOLUMN = LVM_SETCOLUMNA;
\r
379 LVM_INSERTCOLUMN = LVM_INSERTCOLUMNA;
\r
380 LVM_GETITEMTEXT = LVM_GETITEMTEXTA;
\r
381 LVM_SETITEMTEXT = LVM_SETITEMTEXTA;
\r
382 LVM_EDITLABEL = LVM_EDITLABELA;
\r
383 LVM_FINDITEM = LVM_FINDITEMA;
\r
384 LVM_GETISEARCHSTRING = LVM_GETISEARCHSTRINGA;
\r
385 LVM_GETSTRINGWIDTH = LVM_GETSTRINGWIDTHA;
\r
387 LVM_SETBKIMAGE = LVM_SETBKIMAGEA;
\r
388 LVM_GETBKIMAGE = LVM_GETBKIMAGEA;
\r
390 LV_MAX_WORKAREAS = 16;
\r
395 LVIR_SELECTBOUNDS = 3;
\r
397 LVHT_NOWHERE = $0001;
\r
398 LVHT_ONITEMICON = $0002;
\r
399 LVHT_ONITEMLABEL = $0004;
\r
400 LVHT_ONITEMSTATEICON = $0008;
\r
401 LVHT_ONITEM = LVHT_ONITEMICON or LVHT_ONITEMLABEL or
\r
402 LVHT_ONITEMSTATEICON;
\r
403 LVHT_ABOVE = $0008;
\r
404 LVHT_BELOW = $0010;
\r
405 LVHT_TORIGHT = $0020;
\r
406 LVHT_TOLEFT = $0040;
\r
409 LVNI_FOCUSED = $0001;
\r
410 LVNI_SELECTED = $0002;
\r
412 LVNI_DROPHILITED = $0008;
\r
414 LVNI_ABOVE = $0100;
\r
415 LVNI_BELOW = $0200;
\r
416 LVNI_TOLEFT = $0400;
\r
417 LVNI_TORIGHT = $0800;
\r
419 { WM_NOTIFY codes }
\r
420 NM_FIRST = 0- 0; { generic to all controls }
\r
422 NM_OUTOFMEMORY = NM_FIRST-1;
\r
423 NM_CLICK = NM_FIRST-2;
\r
424 NM_DBLCLK = NM_FIRST-3;
\r
425 NM_RETURN = NM_FIRST-4;
\r
426 NM_RCLICK = NM_FIRST-5;
\r
427 NM_RDBLCLK = NM_FIRST-6;
\r
428 NM_SETFOCUS = NM_FIRST-7;
\r
429 NM_KILLFOCUS = NM_FIRST-8;
\r
430 NM_CUSTOMDRAW = NM_FIRST-12;
\r
431 NM_HOVER = NM_FIRST-13;
\r
432 NM_NCHITTEST = NM_FIRST-14; // uses NMMOUSE struct
\r
433 NM_KEYDOWN = NM_FIRST-15; // uses NMKEY struct
\r
434 NM_RELEASEDCAPTURE = NM_FIRST-16;
\r
435 NM_SETCURSOR = NM_FIRST-17; // uses NMMOUSE struct
\r
436 NM_CHAR = NM_FIRST-18; // uses NMCHAR struct
\r
438 LVN_FIRST = 0-100; { listview }
\r
440 LVN_ITEMCHANGING = LVN_FIRST-0;
\r
441 LVN_ITEMCHANGED = LVN_FIRST-1;
\r
442 LVN_INSERTITEM = LVN_FIRST-2;
\r
443 LVN_DELETEITEM = LVN_FIRST-3;
\r
444 LVN_DELETEALLITEMS = LVN_FIRST-4;
\r
445 LVN_COLUMNCLICK = LVN_FIRST-8;
\r
446 LVN_BEGINDRAG = LVN_FIRST-9;
\r
447 LVN_BEGINRDRAG = LVN_FIRST-11;
\r
448 LVN_ODCACHEHINT = LVN_FIRST-13;
\r
449 LVN_ODFINDITEMA = LVN_FIRST-52;
\r
450 LVN_ODFINDITEMW = LVN_FIRST-79;
\r
451 LVN_ITEMACTIVATE = LVN_FIRST-14;
\r
452 LVN_ODSTATECHANGED = LVN_FIRST-15;
\r
453 LVN_ODFINDITEM = LVN_ODFINDITEMA;
\r
454 LVN_BEGINLABELEDITA = LVN_FIRST-5;
\r
455 LVN_ENDLABELEDITA = LVN_FIRST-6;
\r
456 LVN_BEGINLABELEDITW = LVN_FIRST-75;
\r
457 LVN_ENDLABELEDITW = LVN_FIRST-76;
\r
458 LVN_BEGINLABELEDIT = LVN_BEGINLABELEDITA;
\r
459 LVN_ENDLABELEDIT = LVN_ENDLABELEDITA;
\r
460 LVN_HOTTRACK = LVN_FIRST-21;
\r
461 LVN_GETDISPINFOA = LVN_FIRST-50;
\r
462 LVN_SETDISPINFOA = LVN_FIRST-51;
\r
463 LVN_GETDISPINFOW = LVN_FIRST-77;
\r
464 LVN_SETDISPINFOW = LVN_FIRST-78;
\r
465 LVN_GETDISPINFO = LVN_GETDISPINFOA;
\r
466 LVN_SETDISPINFO = LVN_SETDISPINFOA;
\r
469 tagNMLVODSTATECHANGE = packed record
\r
476 PNMLVODStateChange = ^TNMLVODStateChange;
\r
477 TNMLVODStateChange = tagNMLVODSTATECHANGE;
\r
480 PLVColumn = ^TLVColumn;
\r
481 TLVColumn = packed record
\r
486 cchTextMax: Integer;
\r
492 PLVColumnW = ^TLVColumnW;
\r
493 TLVColumnW = packed record
\r
497 pszText: PWideChar;
\r
498 cchTextMax: Integer;
\r
505 PLVItem = ^TLVItem;
\r
506 TLVItem = packed record
\r
513 cchTextMax: Integer;
\r
516 iIndent: Integer; // only for IE3.0 and higher
\r
518 PLVItemW = ^TLVItemW;
\r
519 TLVItemW = packed record
\r
525 pszText: PWideChar;
\r
526 cchTextMax: Integer;
\r
529 iIndent: Integer; // only for IE3.0 and higher
\r
532 PLVDispInfo = ^TLVDispInfo;
\r
533 TLVDispInfo = packed record
\r
537 PLVDispInfoW = ^TLVDispInfoW;
\r
538 TLVDispInfoW = packed record
\r
543 PLVFindInfoA = ^TLVFindInfo;
\r
544 TLVFindInfo = packed record
\r
551 PLVFindInfoW = ^TLVFindInfoW;
\r
552 TLVFindInfoW = packed record
\r
560 TLVHitTestInfo = packed record
\r
568 LVFI_PARAM = $0001;
\r
569 LVFI_STRING = $0002;
\r
570 LVFI_PARTIAL = $0008;
\r
572 LVFI_NEARESTXY = $0040;
\r
575 HDM_FIRST = $1200; { Header messages }
\r
576 HDM_GETITEMW = HDM_FIRST + 11;
\r
577 HDM_GETITEMA = HDM_FIRST + 3;
\r
578 HDM_GETITEM = HDM_GETITEMA;
\r
583 PHDItemA = ^THDItemA;
\r
584 PHDItemW = ^THDItemW;
\r
585 PHDItem = PHDItemA;
\r
586 _HD_ITEMA = packed record
\r
589 pszText: PAnsiChar;
\r
591 cchTextMax: Integer;
\r
594 iImage: Integer; // index of bitmap in ImageList
\r
595 iOrder: Integer; // where to draw this item
\r
597 _HD_ITEMW = packed record
\r
600 pszText: PWideChar;
\r
602 cchTextMax: Integer;
\r
605 iImage: Integer; // index of bitmap in ImageList
\r
606 iOrder: Integer; // where to draw this item
\r
608 THDItemA = _HD_ITEMA;
\r
609 THDItemW = _HD_ITEMW;
\r
610 THDItem = THDItemA;
\r
617 TVS_HASBUTTONS = $0001;
\r
618 TVS_HASLINES = $0002;
\r
619 TVS_LINESATROOT = $0004;
\r
620 TVS_EDITLABELS = $0008;
\r
621 TVS_DISABLEDRAGDROP = $0010;
\r
622 TVS_SHOWSELALWAYS = $0020;
\r
623 TVS_RTLREADING = $0040;
\r
624 TVS_NOTOOLTIPS = $0080;
\r
625 TVS_CHECKBOXES = $0100;
\r
626 TVS_TRACKSELECT = $0200;
\r
627 TVS_SINGLEEXPAND = $0400;
\r
628 TVS_INFOTIP = $0800;
\r
629 TVS_FULLROWSELECT = $1000;
\r
630 TVS_NOSCROLL = $2000;
\r
631 TVS_NONEVENHEIGHT = $4000;
\r
634 TVIF_IMAGE = $0002;
\r
635 TVIF_PARAM = $0004;
\r
636 TVIF_STATE = $0008;
\r
637 TVIF_HANDLE = $0010;
\r
638 TVIF_SELECTEDIMAGE = $0020;
\r
639 TVIF_CHILDREN = $0040;
\r
640 TVIF_INTEGRAL = $0080;
\r
641 TVIF_DI_SETITEM = $1000;
\r
643 TVIS_FOCUSED = $0001;
\r
644 TVIS_SELECTED = $0002;
\r
646 TVIS_DROPHILITED = $0008;
\r
648 TVIS_EXPANDED = $0020;
\r
649 TVIS_EXPANDEDONCE = $0040;
\r
650 TVIS_EXPANDPARTIAL = $0080;
\r
655 TVIS_OVERLAYMASK = $0F00;
\r
656 TVIS_STATEIMAGEMASK = $F000;
\r
657 TVIS_USERMASK = $F000;
\r
662 TV_FIRST = $1100; { TreeView messages }
\r
663 TVM_INSERTITEMA = TV_FIRST + 0;
\r
664 TVM_INSERTITEM = TVM_INSERTITEMA;
\r
665 TVM_DELETEITEM = TV_FIRST + 1;
\r
666 TVM_EXPAND = TV_FIRST + 2;
\r
671 TVE_COLLAPSE = $0001;
\r
672 TVE_EXPAND = $0002;
\r
673 TVE_TOGGLE = $0003;
\r
674 TVE_EXPANDPARTIAL = $4000;
\r
675 TVE_COLLAPSERESET = $8000;
\r
680 TVM_GETITEMRECT = TV_FIRST + 4;
\r
681 TVM_GETCOUNT = TV_FIRST + 5;
\r
682 TVM_GETINDENT = TV_FIRST + 6;
\r
683 TVM_SETINDENT = TV_FIRST + 7;
\r
684 TVM_GETIMAGELIST = TV_FIRST + 8;
\r
695 TVM_SETIMAGELIST = TV_FIRST + 9;
\r
696 TVM_GETNEXTITEM = TV_FIRST + 10;
\r
703 TVGN_PREVIOUS = $0002;
\r
704 TVGN_PARENT = $0003;
\r
705 TVGN_CHILD = $0004;
\r
706 TVGN_FIRSTVISIBLE = $0005;
\r
707 TVGN_NEXTVISIBLE = $0006;
\r
708 TVGN_PREVIOUSVISIBLE = $0007;
\r
709 TVGN_DROPHILITE = $0008;
\r
710 TVGN_CARET = $0009;
\r
711 TVGN_LASTVISIBLE = $000A;
\r
716 TVM_SELECTITEM = TV_FIRST + 11;
\r
717 TVM_GETITEMA = TV_FIRST + 12;
\r
718 TVM_GETITEM = TVM_GETITEMA;
\r
719 TVM_SETITEMA = TV_FIRST + 13;
\r
720 TVM_SETITEM = TVM_SETITEMA;
\r
721 TVM_EDITLABELA = TV_FIRST + 14;
\r
722 TVM_EDITLABEL = TVM_EDITLABELA;
\r
723 TVM_GETEDITCONTROL = TV_FIRST + 15;
\r
724 TVM_GETVISIBLECOUNT = TV_FIRST + 16;
\r
725 TVM_HITTEST = TV_FIRST + 17;
\r
727 TVHT_NOWHERE = $0001;
\r
728 TVHT_ONITEMICON = $0002;
\r
729 TVHT_ONITEMLABEL = $0004;
\r
730 TVHT_ONITEMINDENT = $0008;
\r
731 TVHT_ONITEMBUTTON = $0010;
\r
732 TVHT_ONITEMRIGHT = $0020;
\r
733 TVHT_ONITEMSTATEICON = $0040;
\r
734 TVHT_ONITEM = TVHT_ONITEMICON or TVHT_ONITEMLABEL or
\r
735 TVHT_ONITEMSTATEICON;
\r
737 TVHT_ABOVE = $0100;
\r
738 TVHT_BELOW = $0200;
\r
739 TVHT_TORIGHT = $0400;
\r
740 TVHT_TOLEFT = $0800;
\r
742 TVM_CREATEDRAGIMAGE = TV_FIRST + 18;
\r
743 TVM_SORTCHILDREN = TV_FIRST + 19;
\r
744 TVM_ENSUREVISIBLE = TV_FIRST + 20;
\r
745 TVM_SORTCHILDRENCB = TV_FIRST + 21;
\r
746 TVM_ENDEDITLABELNOW = TV_FIRST + 22;
\r
747 TVM_GETISEARCHSTRINGA = TV_FIRST + 23;
\r
748 TVM_GETISEARCHSTRING = TVM_GETISEARCHSTRINGA;
\r
749 TVM_SETTOOLTIPS = TV_FIRST + 24;
\r
750 TVM_GETTOOLTIPS = TV_FIRST + 25;
\r
751 TVM_SETINSERTMARK = TV_FIRST + 26;
\r
752 TVM_SETITEMHEIGHT = TV_FIRST + 27;
\r
753 TVM_GETITEMHEIGHT = TV_FIRST + 28;
\r
754 TVM_SETBKCOLOR = TV_FIRST + 29;
\r
755 TVM_SETTEXTCOLOR = TV_FIRST + 30;
\r
756 TVM_GETBKCOLOR = TV_FIRST + 31;
\r
757 TVM_GETTEXTCOLOR = TV_FIRST + 32;
\r
758 TVM_SETSCROLLTIME = TV_FIRST + 33;
\r
759 TVM_GETSCROLLTIME = TV_FIRST + 34;
\r
760 TVM_SETINSERTMARKCOLOR = TV_FIRST + 37;
\r
761 TVM_GETINSERTMARKCOLOR = TV_FIRST + 38;
\r
763 TVM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT;
\r
764 TVM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT;
\r
765 TVM_INSERTITEMW = TV_FIRST + 50;
\r
766 TVM_GETITEMW = TV_FIRST + 62;
\r
767 TVM_SETITEMW = TV_FIRST + 63;
\r
768 TVM_EDITLABELW = TV_FIRST + 65;
\r
769 TVM_GETISEARCHSTRINGW = TV_FIRST + 64;
\r
771 TVN_FIRST = 0-400; { treeview }
\r
773 TVN_SELCHANGINGA = TVN_FIRST-1;
\r
774 TVN_SELCHANGEDA = TVN_FIRST-2;
\r
775 TVN_SELCHANGINGW = TVN_FIRST-50;
\r
776 TVN_SELCHANGEDW = TVN_FIRST-51;
\r
777 TVN_SELCHANGING = TVN_SELCHANGINGA;
\r
778 TVN_SELCHANGED = TVN_SELCHANGEDA;
\r
780 TVC_UNKNOWN = $0000;
\r
781 TVC_BYMOUSE = $0001;
\r
782 TVC_BYKEYBOARD = $0002;
\r
787 TVN_GETDISPINFOA = TVN_FIRST-3;
\r
788 TVN_SETDISPINFOA = TVN_FIRST-4;
\r
789 TVN_GETDISPINFOW = TVN_FIRST-52;
\r
790 TVN_SETDISPINFOW = TVN_FIRST-53;
\r
791 TVN_GETDISPINFO = TVN_GETDISPINFOA;
\r
792 TVN_SETDISPINFO = TVN_SETDISPINFOA;
\r
794 TVN_ITEMEXPANDINGA = TVN_FIRST-5;
\r
795 TVN_ITEMEXPANDEDA = TVN_FIRST-6;
\r
796 TVN_BEGINDRAGA = TVN_FIRST-7;
\r
797 TVN_BEGINRDRAGA = TVN_FIRST-8;
\r
798 TVN_DELETEITEMA = TVN_FIRST-9;
\r
799 TVN_BEGINLABELEDITA = TVN_FIRST-10;
\r
800 TVN_ENDLABELEDITA = TVN_FIRST-11;
\r
801 TVN_GETINFOTIPA = TVN_FIRST-13;
\r
802 TVN_ITEMEXPANDINGW = TVN_FIRST-54;
\r
803 TVN_ITEMEXPANDEDW = TVN_FIRST-55;
\r
804 TVN_BEGINDRAGW = TVN_FIRST-56;
\r
805 TVN_BEGINRDRAGW = TVN_FIRST-57;
\r
806 TVN_DELETEITEMW = TVN_FIRST-58;
\r
807 TVN_BEGINLABELEDITW = TVN_FIRST-59;
\r
808 TVN_ENDLABELEDITW = TVN_FIRST-60;
\r
809 TVN_GETINFOTIPW = TVN_FIRST-14;
\r
810 TVN_ITEMEXPANDING = TVN_ITEMEXPANDINGA;
\r
811 TVN_ITEMEXPANDED = TVN_ITEMEXPANDEDA;
\r
812 TVN_BEGINDRAG = TVN_BEGINDRAGA;
\r
813 TVN_BEGINRDRAG = TVN_BEGINRDRAGA;
\r
814 TVN_DELETEITEM = TVN_DELETEITEMA;
\r
815 TVN_BEGINLABELEDIT = TVN_BEGINLABELEDITA;
\r
816 TVN_ENDLABELEDIT = TVN_ENDLABELEDITA;
\r
817 TVN_GETINFOTIP = TVN_GETINFOTIPA;
\r
818 TVN_KEYDOWN = TVN_FIRST-12;
\r
819 TVN_SINGLEEXPAND = TVN_FIRST-15;
\r
821 TVI_ROOT = $FFFF0000;
\r
822 TVI_FIRST = $FFFF0001;
\r
823 TVI_LAST = $FFFF0002;
\r
824 TVI_SORT = $FFFF0003;
\r
827 PTVItemA = ^TTVItemA;
\r
828 PTVItemW = ^TTVItemW;
\r
829 PTVItem = PTVItemA;
\r
830 tagTVITEMA = packed record
\r
835 pszText: PAnsiChar;
\r
836 cchTextMax: Integer;
\r
838 iSelectedImage: Integer;
\r
839 cChildren: Integer;
\r
842 tagTVITEMW = packed record
\r
847 pszText: PWideChar;
\r
848 cchTextMax: Integer;
\r
850 iSelectedImage: Integer;
\r
851 cChildren: Integer;
\r
854 tagTVITEM = tagTVITEMA;
\r
855 _TV_ITEMA = tagTVITEMA;
\r
856 _TV_ITEMW = tagTVITEMW;
\r
857 _TV_ITEM = _TV_ITEMA;
\r
858 TTVItemA = tagTVITEMA;
\r
859 TTVItemW = tagTVITEMW;
\r
860 TTVItem = TTVItemA;
\r
861 TV_ITEMA = tagTVITEMA;
\r
862 TV_ITEMW = tagTVITEMW;
\r
863 TV_ITEM = TV_ITEMA;
\r
865 // only used for Get and Set messages. no notifies
\r
866 tagTVITEMEXA = packed record
\r
871 pszText: PAnsiChar;
\r
872 cchTextMax: Integer;
\r
874 iSelectedImage: Integer;
\r
875 cChildren: Integer;
\r
877 iIntegral: Integer;
\r
879 tagTVITEMEXW = packed record
\r
884 pszText: PWideChar;
\r
885 cchTextMax: Integer;
\r
887 iSelectedImage: Integer;
\r
888 cChildren: Integer;
\r
890 iIntegral: Integer;
\r
892 tagTVITEMEX = tagTVITEMEXA;
\r
893 PTVItemExA = ^TTVItemExA;
\r
894 PTVItemExW = ^TTVItemExW;
\r
895 PTVItemEx = PTVItemExA;
\r
896 TTVItemExA = tagTVITEMEXA;
\r
897 TTVItemExW = tagTVITEMEXW;
\r
898 TTVItemEx = TTVItemExA;
\r
900 PNMTreeViewA = ^TNMTreeViewA;
\r
901 PNMTreeViewW = ^TNMTreeViewW;
\r
902 PNMTreeView = PNMTreeViewA;
\r
903 tagNMTREEVIEWA = packed record
\r
910 tagNMTREEVIEWW = packed record
\r
917 tagNMTREEVIEW = tagNMTREEVIEWA;
\r
918 _NM_TREEVIEWA = tagNMTREEVIEWA;
\r
919 _NM_TREEVIEWW = tagNMTREEVIEWW;
\r
920 _NM_TREEVIEW = _NM_TREEVIEWA;
\r
921 TNMTreeViewA = tagNMTREEVIEWA;
\r
922 TNMTreeViewW = tagNMTREEVIEWW;
\r
923 TNMTreeView = TNMTreeViewA;
\r
924 NM_TREEVIEWA = tagNMTREEVIEWA;
\r
925 NM_TREEVIEWW = tagNMTREEVIEWW;
\r
926 NM_TREEVIEW = NM_TREEVIEWA;
\r
928 tagNMCUSTOMDRAWINFO = packed record
\r
930 dwDrawStage: DWORD;
\r
933 dwItemSpec: DWORD; // this is control specific, but it's how to specify an item. valid only with CDDS_ITEM bit set
\r
935 lItemlParam: LPARAM;
\r
937 PNMCustomDraw = ^TNMCustomDraw;
\r
938 TNMCustomDraw = tagNMCUSTOMDRAWINFO;
\r
941 // custom draw return flags
\r
942 // values under 0x00010000 are reserved for global custom draw values.
\r
943 // above that are for specific controls
\r
944 CDRF_DODEFAULT = $00000000;
\r
945 CDRF_NEWFONT = $00000002;
\r
946 CDRF_SKIPDEFAULT = $00000004;
\r
947 CDRF_NOTIFYPOSTPAINT = $00000010;
\r
948 CDRF_NOTIFYITEMDRAW = $00000020;
\r
949 CDRF_NOTIFYSUBITEMDRAW = $00000020; // flags are the same, we can distinguish by context
\r
950 CDRF_NOTIFYPOSTERASE = $00000040;
\r
953 // values under = $00010000 are reserved for global custom draw values.
\r
954 // above that are for specific controls
\r
955 CDDS_PREPAINT = $00000001;
\r
956 CDDS_POSTPAINT = $00000002;
\r
957 CDDS_PREERASE = $00000003;
\r
958 CDDS_POSTERASE = $00000004;
\r
959 // the = $000010000 bit means it's individual item specific
\r
960 CDDS_ITEM = $00010000;
\r
961 CDDS_ITEMPREPAINT = CDDS_ITEM or CDDS_PREPAINT;
\r
962 CDDS_ITEMPOSTPAINT = CDDS_ITEM or CDDS_POSTPAINT;
\r
963 CDDS_ITEMPREERASE = CDDS_ITEM or CDDS_PREERASE;
\r
964 CDDS_ITEMPOSTERASE = CDDS_ITEM or CDDS_POSTERASE;
\r
965 CDDS_SUBITEM = $00020000;
\r
968 CDIS_SELECTED = $0001;
\r
969 CDIS_GRAYED = $0002;
\r
970 CDIS_DISABLED = $0004;
\r
971 CDIS_CHECKED = $0008;
\r
972 CDIS_FOCUS = $0010;
\r
973 CDIS_DEFAULT = $0020;
\r
975 CDIS_MARKED = $0080;
\r
976 CDIS_INDETERMINATE = $0100;
\r
979 tagNMLVCUSTOMDRAW = packed record
\r
980 nmcd: TNMCustomDraw;
\r
982 clrTextBk: COLORREF;
\r
983 iSubItem: Integer; // IE 4.0 and higher
\r
985 PNMLVCustomDraw = ^TNMLVCustomDraw;
\r
986 TNMLVCustomDraw = tagNMLVCUSTOMDRAW;
\r
991 PTVDispInfoA = ^TTVDispInfoA;
\r
992 PTVDispInfoW = ^TTVDispInfoW;
\r
993 PTVDispInfo = PTVDispInfoA;
\r
994 tagTVDISPINFOA = packed record
\r
998 tagTVDISPINFOW = packed record
\r
1002 tagTVDISPINFO = tagTVDISPINFOA;
\r
1003 _TV_DISPINFOA = tagTVDISPINFOA;
\r
1004 _TV_DISPINFOW = tagTVDISPINFOW;
\r
1005 _TV_DISPINFO = _TV_DISPINFOA;
\r
1006 TTVDispInfoA = tagTVDISPINFOA;
\r
1007 TTVDispInfoW = tagTVDISPINFOW;
\r
1008 TTVDispInfo = TTVDispInfoA;
\r
1009 TV_DISPINFOA = tagTVDISPINFOA;
\r
1010 TV_DISPINFOW = tagTVDISPINFOW;
\r
1011 TV_DISPINFO = TV_DISPINFOA;
\r
1013 tagNMMOUSE = packed record
\r
1015 dwItemSpec: DWORD;
\r
1016 dwItemData: DWORD;
\r
1018 dwHitInfo: DWORD; // any specifics about where on the item or control the mouse is
\r
1020 PNMMouse = ^TNMMouse;
\r
1021 TNMMouse = tagNMMOUSE;
\r
1024 PTVHitTestInfo = ^TTVHitTestInfo;
\r
1025 TTVHitTestInfo = packed Record
\r
1035 cctrl = 'comctl32.dll';
\r
1037 HINST_COMMCTRL = THandle(-1);
\r
1039 CCS_TOP = $00000001;
\r
1040 CCS_NOMOVEY = $00000002;
\r
1041 CCS_BOTTOM = $00000003;
\r
1042 CCS_NORESIZE = $00000004;
\r
1043 CCS_NOPARENTALIGN = $00000008;
\r
1044 CCS_ADJUSTABLE = $00000020;
\r
1045 CCS_NODIVIDER = $00000040;
\r
1046 CCS_VERT = $00000080;
\r
1047 CCS_LEFT = (CCS_VERT or CCS_TOP);
\r
1048 CCS_RIGHT = (CCS_VERT or CCS_BOTTOM);
\r
1049 CCS_NOMOVEX = (CCS_VERT or CCS_NOMOVEY);
\r
1051 PROGRESS_CLASS: array[ 0..17 ] of Char = ('m','s','c','t','l','s','_',
\r
1052 'p','r','o','g','r','e','s','s','3','2',#0);
\r
1053 STATUSCLASSNAME: array[ 0..18 ] of Char = ('m','s','c','t','l','s','_',
\r
1054 's','t','a','t','u','s','b','a','r','3','2',#0);
\r
1055 WC_LISTVIEW: array[0..13] of Char = ('S','y','s','L','i','s','t',
\r
1056 'V','i','e','w','3','2',#0);
\r
1057 TOOLBARCLASSNAME: array[0..15] of Char = ('T','o','o','l','b','a','r',
\r
1058 'W','i','n','d','o','w','3','2',#0 );
\r
1059 TOOLTIPS_CLASS: array[0..16] of Char = ('t','o','o','l','t','i','p','s','_',
\r
1060 'c','l','a','s','s','3','2',#0);
\r
1061 WC_TREEVIEW: array[0..13] of Char = ('S','y','s','T','r','e','e',
\r
1062 'V','i','e','w','3','2',#0);
\r
1063 WC_TABCONTROL: array[0..15] of Char = ('S','y','s','T','a','b','C','o','n','t',
\r
1064 'r','o','l','3','2',#0);
\r
1065 DATETIMEPICK_CLASS: array[ 0..17 ] of Char = (
\r
1066 'S','y','s','D','a','t','e','T','i','m','e','P','i','c','k','3','2',#0 );
\r
1076 TBN_FIRST = 0-700; { toolbar }
\r
1082 TBCDRF_NOEDGES = $00010000; // Don't draw button edges
\r
1083 TBCDRF_HILITEHOTTRACK = $00020000; // Use color of the button bk when hottracked
\r
1084 TBCDRF_NOOFFSET = $00040000; // Don't offset button if pressed
\r
1085 TBCDRF_NOMARK = $00080000; // Don't draw default highlight of image/text for TBSTATE_MARKED
\r
1086 TBCDRF_NOETCHEDEFFECT = $00100000; // Don't draw etched effect for disabled items
\r
1091 TB_ENABLEBUTTON = WM_USER + 1;
\r
1092 TB_CHECKBUTTON = WM_USER + 2;
\r
1093 TB_PRESSBUTTON = WM_USER + 3;
\r
1094 TB_HIDEBUTTON = WM_USER + 4;
\r
1095 TB_INDETERMINATE = WM_USER + 5;
\r
1096 TB_MARKBUTTON = WM_USER + 6;
\r
1097 TB_ISBUTTONENABLED = WM_USER + 9;
\r
1098 TB_ISBUTTONCHECKED = WM_USER + 10;
\r
1099 TB_ISBUTTONPRESSED = WM_USER + 11;
\r
1100 TB_ISBUTTONHIDDEN = WM_USER + 12;
\r
1101 TB_ISBUTTONINDETERMINATE = WM_USER + 13;
\r
1102 TB_ISBUTTONHIGHLIGHTED = WM_USER + 14;
\r
1103 TB_SETSTATE = WM_USER + 17;
\r
1104 TB_GETSTATE = WM_USER + 18;
\r
1105 TB_ADDBITMAP = WM_USER + 19;
\r
1106 TB_ADDBUTTONSA = WM_USER + 20;
\r
1107 TB_INSERTBUTTONA = WM_USER + 21;
\r
1108 TB_DELETEBUTTON = WM_USER + 22;
\r
1109 TB_GETBUTTON = WM_USER + 23;
\r
1110 TB_BUTTONCOUNT = WM_USER + 24;
\r
1111 TB_COMMANDTOINDEX = WM_USER + 25;
\r
1116 TB_SAVERESTOREA = WM_USER + 26;
\r
1117 TB_ADDSTRINGA = WM_USER + 28;
\r
1118 TB_GETBUTTONTEXTA = WM_USER + 45;
\r
1119 TBN_GETBUTTONINFOA = TBN_FIRST-0;
\r
1124 TB_GETBUTTONINFOW = WM_USER + 63;
\r
1125 TB_SETBUTTONINFOW = WM_USER + 64;
\r
1126 TB_GETBUTTONINFOA = WM_USER + 65;
\r
1127 TB_SETBUTTONINFOA = WM_USER + 66;
\r
1128 TB_GETBUTTONINFO = TB_GETBUTTONINFOA;
\r
1129 TB_SETBUTTONINFO = TB_SETBUTTONINFOA;
\r
1134 TB_SAVERESTOREW = WM_USER + 76;
\r
1135 TB_ADDSTRINGW = WM_USER + 77;
\r
1136 TB_GETBUTTONTEXTW = WM_USER + 75;
\r
1137 TBN_GETBUTTONINFOW = TBN_FIRST-20;
\r
1138 TB_SAVERESTORE = TB_SAVERESTOREA;
\r
1139 TB_ADDSTRING = TB_ADDSTRINGA;
\r
1140 TB_GETBUTTONTEXT = TB_GETBUTTONTEXTA;
\r
1141 TBN_GETBUTTONINFO = TBN_GETBUTTONINFOA;
\r
1146 TBN_DROPDOWN = TBN_FIRST-10;
\r
1147 TBN_CLOSEUP = TBN_FIRST-11;
\r
1156 TB_CUSTOMIZE = WM_USER + 27;
\r
1157 TB_GETITEMRECT = WM_USER + 29;
\r
1158 TB_BUTTONSTRUCTSIZE = WM_USER + 30;
\r
1159 TB_SETBUTTONSIZE = WM_USER + 31;
\r
1160 TB_SETBITMAPSIZE = WM_USER + 32;
\r
1161 TB_AUTOSIZE = WM_USER + 33;
\r
1162 TB_GETTOOLTIPS = WM_USER + 35;
\r
1163 TB_SETTOOLTIPS = WM_USER + 36;
\r
1164 TB_SETPARENT = WM_USER + 37;
\r
1165 TB_SETROWS = WM_USER + 39;
\r
1166 TB_GETROWS = WM_USER + 40;
\r
1167 TB_SETCMDID = WM_USER + 42;
\r
1168 TB_CHANGEBITMAP = WM_USER + 43;
\r
1169 TB_GETBITMAP = WM_USER + 44;
\r
1170 TB_REPLACEBITMAP = WM_USER + 46;
\r
1171 TB_SETINDENT = WM_USER + 47;
\r
1172 TB_SETIMAGELIST = WM_USER + 48;
\r
1173 TB_GETIMAGELIST = WM_USER + 49;
\r
1174 TB_LOADIMAGES = WM_USER + 50;
\r
1175 TB_GETRECT = WM_USER + 51; { wParam is the Cmd instead of index }
\r
1176 TB_SETHOTIMAGELIST = WM_USER + 52;
\r
1177 TB_GETHOTIMAGELIST = WM_USER + 53;
\r
1178 TB_SETDISABLEDIMAGELIST = WM_USER + 54;
\r
1179 TB_GETDISABLEDIMAGELIST = WM_USER + 55;
\r
1180 TB_SETSTYLE = WM_USER + 56;
\r
1181 TB_GETSTYLE = WM_USER + 57;
\r
1182 TB_GETBUTTONSIZE = WM_USER + 58;
\r
1183 TB_SETBUTTONWIDTH = WM_USER + 59;
\r
1184 TB_SETMAXTEXTROWS = WM_USER + 60;
\r
1185 TB_GETTEXTROWS = WM_USER + 61;
\r
1190 TB_GETOBJECT = WM_USER + 62; // wParam == IID, lParam void **ppv
\r
1191 TB_GETHOTITEM = WM_USER + 71;
\r
1192 TB_SETHOTITEM = WM_USER + 72; // wParam == iHotItem
\r
1193 TB_SETANCHORHIGHLIGHT = WM_USER + 73; // wParam == TRUE/FALSE
\r
1194 TB_GETANCHORHIGHLIGHT = WM_USER + 74;
\r
1195 TB_MAPACCELERATORA = WM_USER + 78; // wParam == ch, lParam int * pidBtn
\r
1200 TB_SETEXTENDEDSTYLE = WM_USER + 84; // For TBSTYLE_EX_*
\r
1201 TB_GETEXTENDEDSTYLE = WM_USER + 85; // For TBSTYLE_EX_*
\r
1206 TB_INSERTBUTTON = TB_INSERTBUTTONA;
\r
1207 TB_ADDBUTTONS = TB_ADDBUTTONSA;
\r
1212 IDB_STD_SMALL_COLOR = 0;
\r
1213 IDB_STD_LARGE_COLOR = 1;
\r
1214 IDB_VIEW_SMALL_COLOR = 4;
\r
1215 IDB_VIEW_LARGE_COLOR = 5;
\r
1216 IDB_HIST_SMALL_COLOR = 8;
\r
1217 IDB_HIST_LARGE_COLOR = 9;
\r
1232 STD_PROPERTIES = 10;
\r
1244 { icon indexes for standard view bitmap }
\r
1246 VIEW_LARGEICONS = 0;
\r
1247 VIEW_SMALLICONS = 1;
\r
1250 VIEW_SORTNAME = 4;
\r
1251 VIEW_SORTSIZE = 5;
\r
1252 VIEW_SORTDATE = 6;
\r
1253 VIEW_SORTTYPE = 7;
\r
1254 VIEW_PARENTFOLDER = 8;
\r
1255 VIEW_NETCONNECT = 9;
\r
1256 VIEW_NETDISCONNECT = 10;
\r
1257 VIEW_NEWFOLDER = 11;
\r
1258 VIEW_VIEWMENU = 12;
\r
1260 { icon indexes for standard history bitmap }
\r
1264 HIST_FAVORITES = 2;
\r
1265 HIST_ADDTOFAVORITES = 3;
\r
1266 HIST_VIEWTREE = 4;
\r
1268 TBSTATE_CHECKED = $01;
\r
1269 TBSTATE_PRESSED = $02;
\r
1270 TBSTATE_ENABLED = $04;
\r
1271 TBSTATE_HIDDEN = $08;
\r
1272 TBSTATE_INDETERMINATE = $10;
\r
1273 TBSTATE_WRAP = $20;
\r
1274 TBSTATE_ELLIPSES = $40;
\r
1275 TBSTATE_MARKED = $80;
\r
1277 TBSTYLE_BUTTON = $00;
\r
1278 TBSTYLE_SEP = $01;
\r
1279 TBSTYLE_CHECK = $02;
\r
1280 TBSTYLE_GROUP = $04;
\r
1281 TBSTYLE_CHECKGROUP = TBSTYLE_GROUP or TBSTYLE_CHECK;
\r
1282 TBSTYLE_DROPDOWN = $08;
\r
1283 TBSTYLE_AUTOSIZE = $0010; // automatically calculate the cx of the button
\r
1284 TBSTYLE_NOPREFIX = $0020; // if this button should not have accel prefix
\r
1286 TBSTYLE_TOOLTIPS = $0100;
\r
1287 TBSTYLE_WRAPABLE = $0200;
\r
1288 TBSTYLE_ALTDRAG = $0400;
\r
1289 TBSTYLE_FLAT = $0800;
\r
1290 TBSTYLE_LIST = $1000;
\r
1291 TBSTYLE_CUSTOMERASE = $2000;
\r
1292 TBSTYLE_REGISTERDROP = $4000;
\r
1293 TBSTYLE_TRANSPARENT = $8000;
\r
1294 TBSTYLE_EX_DRAWDDARROWS = $00000001;
\r
1296 TBIF_IMAGE = $00000001;
\r
1297 TBIF_TEXT = $00000002;
\r
1298 TBIF_STATE = $00000004;
\r
1299 TBIF_STYLE = $00000008;
\r
1300 TBIF_LPARAM = $00000010;
\r
1301 TBIF_COMMAND = $00000020;
\r
1302 TBIF_SIZE = $00000040;
\r
1304 TTN_FIRST = 0-520; { tooltips }
\r
1306 TTN_NEEDTEXTA = TTN_FIRST - 0;
\r
1307 TTN_NEEDTEXT = TTN_FIRST - 0;
\r
1308 TTN_NEEDTEXTW = TTN_FIRST - 10;
\r
1310 TTS_ALWAYSTIP = $01;
\r
1311 TTS_NOPREFIX = $02;
\r
1313 TTM_ACTIVATE = WM_USER + 1;
\r
1314 TTM_SETDELAYTIME = WM_USER + 3;
\r
1316 TTM_ADDTOOLA = WM_USER + 4;
\r
1317 TTM_DELTOOLA = WM_USER + 5;
\r
1318 TTM_NEWTOOLRECTA = WM_USER + 6;
\r
1319 TTM_GETTOOLINFOA = WM_USER + 8;
\r
1320 TTM_SETTOOLINFOA = WM_USER + 9;
\r
1321 TTM_HITTESTA = WM_USER + 10;
\r
1322 TTM_GETTEXTA = WM_USER + 11;
\r
1323 TTM_UPDATETIPTEXTA = WM_USER + 12;
\r
1324 TTM_ENUMTOOLSA = WM_USER + 14;
\r
1325 TTM_GETCURRENTTOOLA = WM_USER + 15;
\r
1327 TTM_ADDTOOLW = WM_USER + 50;
\r
1328 TTM_DELTOOLW = WM_USER + 51;
\r
1329 TTM_NEWTOOLRECTW = WM_USER + 52;
\r
1330 TTM_GETTOOLINFOW = WM_USER + 53;
\r
1331 TTM_SETTOOLINFOW = WM_USER + 54;
\r
1332 TTM_HITTESTW = WM_USER + 55;
\r
1333 TTM_GETTEXTW = WM_USER + 56;
\r
1334 TTM_UPDATETIPTEXTW = WM_USER + 57;
\r
1335 TTM_ENUMTOOLSW = WM_USER + 58;
\r
1336 TTM_GETCURRENTTOOLW = WM_USER + 59;
\r
1337 TTM_WINDOWFROMPOINT = WM_USER + 16;
\r
1338 TTM_TRACKACTIVATE = WM_USER + 17; // wParam = TRUE/FALSE start end lparam = LPTOOLINFO
\r
1339 TTM_TRACKPOSITION = WM_USER + 18; // lParam = dwPos
\r
1340 TTM_SETTIPBKCOLOR = WM_USER + 19;
\r
1341 TTM_SETTIPTEXTCOLOR = WM_USER + 20;
\r
1342 TTM_GETDELAYTIME = WM_USER + 21;
\r
1343 TTM_GETTIPBKCOLOR = WM_USER + 22;
\r
1344 TTM_GETTIPTEXTCOLOR = WM_USER + 23;
\r
1345 TTM_SETMAXTIPWIDTH = WM_USER + 24;
\r
1346 TTM_GETMAXTIPWIDTH = WM_USER + 25;
\r
1347 TTM_SETMARGIN = WM_USER + 26; // lParam = lprc
\r
1348 TTM_GETMARGIN = WM_USER + 27; // lParam = lprc
\r
1349 TTM_POP = WM_USER + 28;
\r
1350 TTM_UPDATE = WM_USER + 29;
\r
1352 TTM_ADDTOOL = TTM_ADDTOOLA;
\r
1353 TTM_DELTOOL = TTM_DELTOOLA;
\r
1354 TTM_NEWTOOLRECT = TTM_NEWTOOLRECTA;
\r
1355 TTM_GETTOOLINFO = TTM_GETTOOLINFOA;
\r
1356 TTM_SETTOOLINFO = TTM_SETTOOLINFOA;
\r
1357 TTM_HITTEST = TTM_HITTESTA;
\r
1358 TTM_GETTEXT = TTM_GETTEXTA;
\r
1359 TTM_UPDATETIPTEXT = TTM_UPDATETIPTEXTA;
\r
1360 TTM_ENUMTOOLS = TTM_ENUMTOOLSA;
\r
1361 TTM_GETCURRENTTOOL = TTM_GETCURRENTTOOLA;
\r
1363 TTM_RELAYEVENT = WM_USER + 7;
\r
1364 TTM_GETTOOLCOUNT = WM_USER +13;
\r
1366 TTF_IDISHWND = $0001;
\r
1367 TTF_CENTERTIP = $0002;
\r
1368 TTF_RTLREADING = $0004;
\r
1369 TTF_SUBCLASS = $0010;
\r
1370 TTF_TRACK = $0020;
\r
1371 TTF_ABSOLUTE = $0080;
\r
1372 TTF_TRANSPARENT = $0100;
\r
1373 TTF_DI_SETITEM = $8000; // valid only on the TTN_NEEDTEXT callback
\r
1375 LPSTR_TEXTCALLBACKA = LPSTR(-1);
\r
1376 LPSTR_TEXTCALLBACKW = LPWSTR(-1);
\r
1377 LPSTR_TEXTCALLBACK = LPSTR_TEXTCALLBACKA; CW_USEDEFAULT = Integer($80000000);
\r
1382 PTBAddBitmap = ^TTBAddBitmap;
\r
1383 TTBAddBitmap = packed record
\r
1388 PTBButton = ^TTBButton;
\r
1389 TTBButton = packed record
\r
1391 idCommand: Integer;
\r
1394 bReserved: array[1..2] of Byte;
\r
1399 PTBButtonInfo = ^TTBButtonInfo;
\r
1400 TTBButtonInfo = packed record
\r
1403 idCommand: Integer;
\r
1409 pszText: PAnsiChar;
\r
1413 PColorMap = ^TColorMap;
\r
1414 TColorMap = packed record
\r
1419 PTBNotify = ^TTBnotify;
\r
1420 TTBNotify = packed record
\r
1423 tbButton: TTBButton;
\r
1428 PTooltipText = ^TTooltipText;
\r
1429 TTooltipText = packed record
\r
1431 lpszText: PAnsiChar;
\r
1432 szText: array[0..79] of AnsiChar;
\r
1438 PToolInfo = ^TToolInfo;
\r
1439 TToolInfo = packed record
\r
1446 lpszText: PAnsiChar;
\r
1451 WM_MOUSEHOVER = $02A1;
\r
1452 WM_MOUSELEAVE = $02A3;
\r
1454 TME_HOVER = $00000001;
\r
1455 TME_LEAVE = $00000002;
\r
1456 TME_QUERY = $40000000;
\r
1457 TME_CANCEL = $80000000;
\r
1459 HOVER_DEFAULT = $FFFFFFFF;
\r
1463 ODT_LISTVIEW = 102;
\r
1466 tagTRACKMOUSEEVENT = packed record
\r
1470 dwHoverTime: DWORD;
\r
1472 PTrackMouseEvent = ^TTrackMouseEvent;
\r
1473 TTrackMouseEvent = tagTRACKMOUSEEVENT;
\r
1475 { Declare _TrackMouseEvent. This API tries to use the window manager's }
\r
1476 { implementation of TrackMouseEvent if it is present, otherwise it emulates. }
\r
1477 function _TrackMouseEvent(lpEventTrack: PTrackMouseEvent): BOOL; stdcall;
\r
1479 //////////////////////////////////////////////////////////////////////////////
\r
1488 /////////////////////////////////////////////////////////
\r
1489 // Some stuff from new Delphi versions (not available in old ones):
\r
1491 //IDC_HAND = MakeIntResource(32649);
\r
1492 IDC_HAND = PChar(32649);
\r
1495 /////////////////////////////////////////////////////////
\r
1497 VK_PAGE_DOWN = VK_NEXT;
\r
1498 VK_PAGE_UP = VK_PRIOR;
\r
1501 PBT_APMQUERYSUSPEND = 00 ;
\r
1502 PBT_APMQUERYSTANDBY = 01 ;
\r
1503 PBT_APMQUERYSUSPENDFAILED = 02 ;
\r
1504 PBT_APMQUERYSTANDBYFAILED = 03 ;
\r
1505 PBT_APMSUSPEND = 04 ;
\r
1506 PBT_APMSTANDBY = 05 ;
\r
1507 PBT_APMRESUMECRITICAL = 06 ;
\r
1508 PBT_APMRESUMESUSPEND = 07 ;
\r
1509 PBT_APMRESUMESTANDBY = 08 ;
\r
1510 PBTF_APMRESUMEFROMFAILURE = 000001 ;
\r
1511 PBT_APMBATTERYLOW = 09 ;
\r
1512 PBT_APMPOWERSTATUSCHANGE = 10 ;
\r
1513 PBT_APMOEMEVENT = 11 ;
\r
1514 PBT_APMRESUMEAUTOMATIC = 12 ;
\r
1520 DTM_FIRST = $1000;
\r
1521 DTM_GETSYSTEMTIME = DTM_FIRST + 1;
\r
1522 DTM_SETSYSTEMTIME = DTM_FIRST + 2;
\r
1523 DTM_GETRANGE = DTM_FIRST + 3;
\r
1524 DTM_SETRANGE = DTM_FIRST + 4;
\r
1525 DTM_SETFORMATA = DTM_FIRST + 5;
\r
1526 DTM_SETMCCOLOR = DTM_FIRST + 6;
\r
1527 DTM_GETMCCOLOR = DTM_FIRST + 7;
\r
1528 DTM_GETMONTHCAL = DTM_FIRST + 8;
\r
1529 DTM_SETMCFONT = DTM_FIRST + 9;
\r
1530 DTM_GETMCFONT = DTM_FIRST + 10;
\r
1531 DTM_SETFORMATW = DTM_FIRST + 50;
\r
1532 DTM_SETFORMAT = DTM_SETFORMATA;
\r
1544 DTN_FIRST = 0-760; { datetimepick }
\r
1547 DTN_DATETIMECHANGE = DTN_FIRST + 1; // the systemtime has changed
\r
1548 DTN_USERSTRINGA = DTN_FIRST + 2; // the user has entered a string
\r
1549 DTN_USERSTRINGW = DTN_FIRST + 15;
\r
1550 DTN_WMKEYDOWNA = DTN_FIRST + 3; // modify keydown on app format field (X)
\r
1551 DTN_WMKEYDOWNW = DTN_FIRST + 16;
\r
1552 DTN_FORMATA = DTN_FIRST + 4; // query display for app format field (X)
\r
1553 DTN_FORMATW = DTN_FIRST + 17;
\r
1554 DTN_FORMATQUERYA = DTN_FIRST + 5; // query formatting info for app format field (X)
\r
1555 DTN_FORMATQUERYW = DTN_FIRST + 18;
\r
1556 DTN_DROPDOWN = DTN_FIRST + 6; // MonthCal has dropped down
\r
1557 DTN_CLOSEUP = DTN_FIRST + 7; // MonthCal is popping up
\r
1558 DTN_USERSTRING = DTN_USERSTRINGA;
\r
1559 DTN_WMKEYDOWN = DTN_WMKEYDOWNA;
\r
1560 DTN_FORMAT = DTN_FORMATA;
\r
1561 DTN_FORMATQUERY = DTN_FORMATQUERYA;
\r
1564 DTS_UPDOWN = $0001; // use UPDOWN instead of MONTHCAL
\r
1565 DTS_SHOWNONE = $0002; // allow a NONE selection
\r
1566 DTS_SHORTDATEFORMAT = $0000; // use the short date format
\r
1567 // (app must forward WM_WININICHANGE messages)
\r
1568 DTS_LONGDATEFORMAT = $0004; // use the long date format
\r
1569 // (app must forward WM_WININICHANGE messages)
\r
1570 DTS_TIMEFORMAT = $0008; // use the time format
\r
1571 // (app must forward WM_WININICHANGE messages)
\r
1572 DTS_APPCANPARSE = $0010; // allow user entered strings
\r
1573 // (app MUST respond to DTN_USERSTRING)
\r
1574 DTS_RIGHTALIGN = $0020; // right-align popup instead of left-align it
\r
1576 // color index constants
\r
1577 MCSC_BACKGROUND = 0; // the background color (between months)
\r
1578 MCSC_TEXT = 1; // the dates
\r
1579 MCSC_TITLEBK = 2; // background of the title
\r
1580 MCSC_TITLETEXT = 3;
\r
1581 MCSC_MONTHBK = 4; // background within the month cal
\r
1582 MCSC_TRAILINGTEXT = 5; // the text color of header & trailing days
\r
1586 tagNMDATETIMESTRINGA = packed record
\r
1588 pszUserString: PAnsiChar; // string user entered
\r
1589 st: TSystemTime; // app fills this in
\r
1590 dwFlags: DWORD; // GDT_VALID or GDT_NONE
\r
1592 tagNMDATETIMESTRINGW = packed record
\r
1594 pszUserString: PWideChar; // string user entered
\r
1595 st: TSystemTime; // app fills this in
\r
1596 dwFlags: DWORD; // GDT_VALID or GDT_NONE
\r
1598 tagNMDATETIMESTRING = tagNMDATETIMESTRINGA;
\r
1599 PNMDateTimeStringA = ^TNMDateTimeStringA;
\r
1600 PNMDateTimeStringW = ^TNMDateTimeStringW;
\r
1601 PNMDateTimeString = PNMDateTimeStringA;
\r
1602 TNMDateTimeStringA = tagNMDATETIMESTRINGA;
\r
1603 TNMDateTimeStringW = tagNMDATETIMESTRINGW;
\r
1604 TNMDateTimeString = TNMDateTimeStringA;
\r