PageRenderTime 54ms CodeModel.GetById 15ms RepoModel.GetById 0ms app.codeStats 0ms

/delphicommctrl.inc

http://github.com/rofl0r/KOL
Pascal | 1605 lines | 1309 code | 251 blank | 45 comment | 0 complexity | 5ba4ca330281b58cdffb7bb9eb90339e MD5 | raw file

Large files files are truncated, but you can click here to view the full file

  1. ////////////////////////////////////////////////////////////////////////////
  2. // this part of unit contains definitions moved here from CommCtrl.pas
  3. // (using of CommCtrl.pas in Delphi3 leads to increase size of executable
  4. // onto 30K)
  5. type
  6. PTCItemA = ^TTCItemA;
  7. PTCItemW = ^TTCItemW;
  8. PTCItem = PTCItemA;
  9. tagTCITEMA = packed record
  10. mask: UINT;
  11. dwState: UINT;
  12. dwStateMask: UINT;
  13. pszText: PAnsiChar;
  14. cchTextMax: Integer;
  15. iImage: Integer;
  16. lParam: LPARAM;
  17. end;
  18. tagTCITEMW = packed record
  19. mask: UINT;
  20. dwState: UINT;
  21. dwStateMask: UINT;
  22. pszText: PWideChar;
  23. cchTextMax: Integer;
  24. iImage: Integer;
  25. lParam: LPARAM;
  26. end;
  27. PTCKeyDown = ^TTCKeyDown;
  28. TTCKEYDOWN = packed record
  29. hdr: TNMHDR;
  30. wVKey: Word;
  31. flags: UINT;
  32. end;
  33. tagTCITEM = tagTCITEMA;
  34. _TC_ITEMA = tagTCITEMA;
  35. _TC_ITEMW = tagTCITEMW;
  36. _TC_ITEM = _TC_ITEMA;
  37. TTCItemA = tagTCITEMA;
  38. TTCItemW = tagTCITEMW;
  39. TTCItem = TTCItemA;
  40. TC_ITEMA = tagTCITEMA;
  41. TC_ITEMW = tagTCITEMW;
  42. TC_ITEM = TC_ITEMA;
  43. const
  44. CCM_FIRST = $2000; { Common control shared messages }
  45. CCM_SETBKCOLOR = CCM_FIRST + 1; // lParam is bkColor
  46. CCM_SETCOLORSCHEME = CCM_FIRST + 2; // lParam is color scheme
  47. CCM_GETCOLORSCHEME = CCM_FIRST + 3; // fills in COLORSCHEME pointed to by lParam
  48. CCM_GETDROPTARGET = CCM_FIRST + 4;
  49. CCM_SETUNICODEFORMAT = CCM_FIRST + 5;
  50. CCM_GETUNICODEFORMAT = CCM_FIRST + 6;
  51. TCS_SCROLLOPPOSITE = $0001; // assumes multiline tab
  52. TCS_BOTTOM = $0002;
  53. TCS_RIGHT = $0002;
  54. TCS_MULTISELECT = $0004; // allow multi-select in button mode
  55. TCS_FLATBUTTONS = $0008;
  56. TCS_FORCEICONLEFT = $0010;
  57. TCS_FORCELABELLEFT = $0020;
  58. TCS_HOTTRACK = $0040;
  59. TCS_VERTICAL = $0080;
  60. TCS_TABS = $0000;
  61. TCS_BUTTONS = $0100;
  62. TCS_SINGLELINE = $0000;
  63. TCS_MULTILINE = $0200;
  64. TCS_RIGHTJUSTIFY = $0000;
  65. TCS_FIXEDWIDTH = $0400;
  66. TCS_RAGGEDRIGHT = $0800;
  67. TCS_FOCUSONBUTTONDOWN = $1000;
  68. TCS_OWNERDRAWFIXED = $2000;
  69. TCS_TOOLTIPS = $4000;
  70. TCS_FOCUSNEVER = $8000;
  71. TCS_EX_FLATSEPARATORS = $00000001;
  72. TCS_EX_REGISTERDROP = $00000002;
  73. TCM_FIRST = $1300; { Tab control messages }
  74. TCM_GETIMAGELIST = TCM_FIRST + 2;
  75. TCM_SETIMAGELIST = TCM_FIRST + 3;
  76. TCM_GETITEMCOUNT = TCM_FIRST + 4;
  77. TCM_GETITEMA = TCM_FIRST + 5;
  78. TCM_SETITEMA = TCM_FIRST + 6;
  79. TCM_INSERTITEMA = TCM_FIRST + 7;
  80. TCM_DELETEITEM = TCM_FIRST + 8;
  81. TCM_DELETEALLITEMS = TCM_FIRST + 9;
  82. TCM_GETITEMRECT = TCM_FIRST + 10;
  83. TCM_GETCURSEL = TCM_FIRST + 11;
  84. TCM_SETCURSEL = TCM_FIRST + 12;
  85. TCM_HITTEST = TCM_FIRST + 13;
  86. TCM_SETITEMEXTRA = TCM_FIRST + 14;
  87. TCM_ADJUSTRECT = TCM_FIRST + 40;
  88. TCM_SETITEMSIZE = TCM_FIRST + 41;
  89. TCM_REMOVEIMAGE = TCM_FIRST + 42;
  90. TCM_SETPADDING = TCM_FIRST + 43;
  91. TCM_GETROWCOUNT = TCM_FIRST + 44;
  92. TCM_GETTOOLTIPS = TCM_FIRST + 45;
  93. TCM_SETTOOLTIPS = TCM_FIRST + 46;
  94. TCM_GETCURFOCUS = TCM_FIRST + 47;
  95. TCM_SETCURFOCUS = TCM_FIRST + 48;
  96. TCM_SETMINTABWIDTH = TCM_FIRST + 49;
  97. TCM_DESELECTALL = TCM_FIRST + 50;
  98. TCM_HIGHLIGHTITEM = TCM_FIRST + 51;
  99. TCM_SETEXTENDEDSTYLE = TCM_FIRST + 52; // optional wParam == mask
  100. TCM_GETEXTENDEDSTYLE = TCM_FIRST + 53;
  101. TCM_GETITEMW = TCM_FIRST + 60;
  102. TCM_SETITEMW = TCM_FIRST + 61;
  103. TCM_INSERTITEMW = TCM_FIRST + 62;
  104. TCM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT;
  105. TCM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT;
  106. TCM_GETITEM = TCM_GETITEMA;
  107. TCM_SETITEM = TCM_SETITEMA;
  108. TCM_INSERTITEM = TCM_INSERTITEMA;
  109. TCN_FIRST = 0-550; { tab control }
  110. TCN_LAST = 0-580;
  111. TCN_KEYDOWN = TCN_FIRST - 0;
  112. TCN_SELCHANGE = TCN_FIRST - 1;
  113. TCN_SELCHANGING = TCN_FIRST - 2;
  114. TCN_GETOBJECT = TCN_FIRST - 3;
  115. TCIF_TEXT = $0001;
  116. TCIF_IMAGE = $0002;
  117. TCIF_RTLREADING = $0004;
  118. TCIF_PARAM = $0008;
  119. TCIF_STATE = $0010;
  120. PBS_SMOOTH = 01;
  121. PBS_VERTICAL = 04;
  122. PBM_SETRANGE = WM_USER+1;
  123. PBM_SETPOS = WM_USER+2;
  124. PBM_DELTAPOS = WM_USER+3;
  125. PBM_SETSTEP = WM_USER+4;
  126. PBM_STEPIT = WM_USER+5;
  127. PBM_SETRANGE32 = WM_USER+6; // lParam = high, wParam = low
  128. PBM_GETRANGE = WM_USER+7; // lParam = PPBRange or Nil
  129. // wParam = False: Result = high
  130. // wParam = True: Result = low
  131. PBM_GETPOS = WM_USER+8;
  132. PBM_SETBARCOLOR = WM_USER+9; // lParam = bar color
  133. PBM_SETBKCOLOR = CCM_SETBKCOLOR; // lParam = bkColor
  134. SB_SETTEXTA = WM_USER+1;
  135. SB_GETTEXTA = WM_USER+2;
  136. SB_GETTEXTLENGTHA = WM_USER+3;
  137. SB_SETTIPTEXTA = WM_USER+16;
  138. SB_GETTIPTEXTA = WM_USER+18;
  139. SB_SETTEXTW = WM_USER+11;
  140. SB_GETTEXTW = WM_USER+13;
  141. SB_GETTEXTLENGTHW = WM_USER+12;
  142. SB_SETTIPTEXTW = WM_USER+17;
  143. SB_GETTIPTEXTW = WM_USER+19;
  144. SB_SETTEXT = SB_SETTEXTA;
  145. SB_GETTEXT = SB_GETTEXTA;
  146. SB_GETTEXTLENGTH = SB_GETTEXTLENGTHA;
  147. SB_SETTIPTEXT = SB_SETTIPTEXTA;
  148. SB_GETTIPTEXT = SB_GETTIPTEXTA;
  149. SB_SETPARTS = WM_USER+4;
  150. SB_GETPARTS = WM_USER+6;
  151. SB_GETBORDERS = WM_USER+7;
  152. SB_SETMINHEIGHT = WM_USER+8;
  153. SB_SIMPLE = WM_USER+9;
  154. SB_GETRECT = WM_USER + 10;
  155. SB_ISSIMPLE = WM_USER+14;
  156. SB_SETICON = WM_USER+15;
  157. SB_GETICON = WM_USER+20;
  158. SB_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT;
  159. SB_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT;
  160. SBT_OWNERDRAW = $1000;
  161. SBT_NOBORDERS = $0100;
  162. SBT_POPOUT = $0200;
  163. SBT_RTLREADING = $0400;
  164. SBT_TOOLTIPS = $0800;
  165. SB_SETBKCOLOR = CCM_SETBKCOLOR; // lParam = bkColor
  166. SBARS_SIZEGRIP = $0100;
  167. { List View Styles }
  168. LVS_ICON = $0000;
  169. LVS_REPORT = $0001;
  170. LVS_SMALLICON = $0002;
  171. LVS_LIST = $0003;
  172. LVS_TYPEMASK = $0003;
  173. LVS_SINGLESEL = $0004;
  174. LVS_SHOWSELALWAYS = $0008;
  175. LVS_SORTASCENDING = $0010;
  176. LVS_SORTDESCENDING = $0020;
  177. LVS_SHAREIMAGELISTS = $0040;
  178. LVS_NOLABELWRAP = $0080;
  179. LVS_AUTOARRANGE = $0100;
  180. LVS_EDITLABELS = $0200;
  181. LVS_OWNERDATA = $1000;
  182. LVS_NOSCROLL = $2000;
  183. LVS_TYPESTYLEMASK = $FC00;
  184. LVS_ALIGNTOP = $0000;
  185. LVS_ALIGNLEFT = $0800;
  186. LVS_ALIGNMASK = $0c00;
  187. LVS_OWNERDRAWFIXED = $0400;
  188. LVS_NOCOLUMNHEADER = $4000;
  189. LVS_NOSORTHEADER = $8000;
  190. { List View Extended Styles }
  191. LVS_EX_GRIDLINES = $00000001;
  192. LVS_EX_SUBITEMIMAGES = $00000002;
  193. LVS_EX_CHECKBOXES = $00000004;
  194. LVS_EX_TRACKSELECT = $00000008;
  195. LVS_EX_HEADERDRAGDROP = $00000010;
  196. LVS_EX_FULLROWSELECT = $00000020; // applies to report mode only
  197. LVS_EX_ONECLICKACTIVATE = $00000040;
  198. LVS_EX_TWOCLICKACTIVATE = $00000080;
  199. LVS_EX_FLATSB = $00000100;
  200. LVS_EX_REGIONAL = $00000200;
  201. LVS_EX_INFOTIP = $00000400; // listview does InfoTips for you
  202. LVS_EX_LABELTIP = $00004000;
  203. LVS_EX_UNDERLINEHOT = $00000800;
  204. LVS_EX_UNDERLINECOLD = $00001000;
  205. LVS_EX_MULTIWORKAREAS = $00002000;
  206. I_IMAGECALLBACK = -1;
  207. I_SKIP = -2;
  208. LVSIL_NORMAL = 0;
  209. LVSIL_SMALL = 1;
  210. LVSIL_STATE = 2;
  211. { List View column styles }
  212. LVCF_FMT = $0001;
  213. LVCF_WIDTH = $0002;
  214. LVCF_TEXT = $0004;
  215. LVCF_SUBITEM = $0008;
  216. LVCF_IMAGE = $0010;
  217. LVCF_ORDER = $0020;
  218. LVSCW_AUTOSIZE = -1;
  219. LVSCW_AUTOSIZE_USEHEADER = -2;
  220. LVCFMT_LEFT = $0000;
  221. LVCFMT_RIGHT = $0001;
  222. LVCFMT_CENTER = $0002;
  223. LVCFMT_JUSTIFYMASK = $0003;
  224. LVCFMT_IMAGE = $0800;
  225. LVCFMT_BITMAP_ON_RIGHT = $1000;
  226. LVCFMT_COL_HAS_IMAGES = $8000;
  227. LVIF_TEXT = $0001;
  228. LVIF_IMAGE = $0002;
  229. LVIF_PARAM = $0004;
  230. LVIF_STATE = $0008;
  231. LVIF_INDENT = $0010;
  232. //LVIF_NORECOMPUTE = $0800;
  233. LVIF_DI_SETITEM = $1000;
  234. LVIS_FOCUSED = $0001;
  235. LVIS_SELECTED = $0002;
  236. LVIS_CUT = $0004;
  237. LVIS_DROPHILITED = $0008;
  238. //LVIS_ACTIVATING = $0020;
  239. LVIS_OVERLAYMASK = $0F00;
  240. LVIS_STATEIMAGEMASK = $F000;
  241. { List View messages }
  242. LVM_FIRST = $1000; { ListView messages }
  243. LVM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT;
  244. LVM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT;
  245. LVM_GETBKCOLOR = LVM_FIRST + 0;
  246. LVM_SETBKCOLOR = LVM_FIRST + 1;
  247. LVM_GETIMAGELIST = LVM_FIRST + 2;
  248. LVM_SETIMAGELIST = LVM_FIRST + 3;
  249. LVM_GETITEMCOUNT = LVM_FIRST + 4;
  250. LVM_GETITEMA = LVM_FIRST + 5;
  251. LVM_SETITEMA = LVM_FIRST + 6;
  252. LVM_INSERTITEMA = LVM_FIRST + 7;
  253. LVM_DELETEITEM = LVM_FIRST + 8;
  254. LVM_DELETEALLITEMS = LVM_FIRST + 9;
  255. LVM_GETCALLBACKMASK = LVM_FIRST + 10;
  256. LVM_SETCALLBACKMASK = LVM_FIRST + 11;
  257. LVM_GETNEXTITEM = LVM_FIRST + 12;
  258. LVM_FINDITEMA = LVM_FIRST + 13;
  259. LVM_GETITEMRECT = LVM_FIRST + 14;
  260. LVM_SETITEMPOSITION = LVM_FIRST + 15;
  261. LVM_GETITEMPOSITION = LVM_FIRST + 16;
  262. LVM_GETSTRINGWIDTHA = LVM_FIRST + 17;
  263. LVM_HITTEST = LVM_FIRST + 18;
  264. LVM_ENSUREVISIBLE = LVM_FIRST + 19;
  265. LVM_SCROLL = LVM_FIRST + 20;
  266. LVM_REDRAWITEMS = LVM_FIRST + 21;
  267. LVM_ARRANGE = LVM_FIRST + 22;
  268. LVM_EDITLABELA = LVM_FIRST + 23;
  269. LVM_GETCOLUMNA = LVM_FIRST + 25;
  270. LVM_SETCOLUMNA = LVM_FIRST + 26;
  271. LVM_INSERTCOLUMNA = LVM_FIRST + 27;
  272. LVM_DELETECOLUMN = LVM_FIRST + 28;
  273. LVM_GETCOLUMNWIDTH = LVM_FIRST + 29;
  274. LVM_SETCOLUMNWIDTH = LVM_FIRST + 30;
  275. LVM_GETHEADER = LVM_FIRST + 31;
  276. LVM_CREATEDRAGIMAGE = LVM_FIRST + 33;
  277. LVM_GETVIEWRECT = LVM_FIRST + 34;
  278. LVM_GETTEXTCOLOR = LVM_FIRST + 35;
  279. LVM_SETTEXTCOLOR = LVM_FIRST + 36;
  280. LVM_GETTEXTBKCOLOR = LVM_FIRST + 37;
  281. LVM_SETTEXTBKCOLOR = LVM_FIRST + 38;
  282. LVM_GETTOPINDEX = LVM_FIRST + 39;
  283. LVM_GETCOUNTPERPAGE = LVM_FIRST + 40;
  284. LVM_GETORIGIN = LVM_FIRST + 41;
  285. LVM_UPDATE = LVM_FIRST + 42;
  286. LVM_SETITEMSTATE = LVM_FIRST + 43;
  287. LVM_GETITEMSTATE = LVM_FIRST + 44;
  288. LVM_GETITEMTEXTA = LVM_FIRST + 45;
  289. LVM_SETITEMTEXTA = LVM_FIRST + 46;
  290. LVM_SETITEMCOUNT = LVM_FIRST + 47;
  291. LVM_SORTITEMS = LVM_FIRST + 48;
  292. LVM_SETITEMPOSITION32 = LVM_FIRST + 49;
  293. LVM_GETSELECTEDCOUNT = LVM_FIRST + 50;
  294. LVM_GETITEMSPACING = LVM_FIRST + 51;
  295. LVM_GETISEARCHSTRINGA = LVM_FIRST + 52;
  296. LVM_SETICONSPACING = LVM_FIRST + 53;
  297. LVM_SETEXTENDEDLISTVIEWSTYLE = LVM_FIRST + 54;
  298. LVM_GETEXTENDEDLISTVIEWSTYLE = LVM_FIRST + 55;
  299. LVM_GETSUBITEMRECT = LVM_FIRST + 56;
  300. LVM_SUBITEMHITTEST = LVM_FIRST + 57;
  301. LVM_SETCOLUMNORDERARRAY = LVM_FIRST + 58;
  302. LVM_GETCOLUMNORDERARRAY = LVM_FIRST + 59;
  303. LVM_SETHOTITEM = LVM_FIRST + 60;
  304. LVM_GETHOTITEM = LVM_FIRST + 61;
  305. LVM_SETHOTCURSOR = LVM_FIRST + 62;
  306. LVM_GETHOTCURSOR = LVM_FIRST + 63;
  307. LVM_APPROXIMATEVIEWRECT = LVM_FIRST + 64;
  308. LVM_SETWORKAREA = LVM_FIRST + 65;
  309. LVM_GETSELECTIONMARK = LVM_FIRST + 66;
  310. LVM_SETSELECTIONMARK = LVM_FIRST + 67;
  311. LVM_SETBKIMAGEA = LVM_FIRST + 68;
  312. LVM_GETBKIMAGEA = LVM_FIRST + 69;
  313. LVM_GETWORKAREAS = LVM_FIRST + 70;
  314. LVM_SETHOVERTIME = LVM_FIRST + 71;
  315. LVM_GETHOVERTIME = LVM_FIRST + 72;
  316. LVM_GETNUMBEROFWORKAREAS = LVM_FIRST + 73;
  317. LVM_SETTOOLTIPS = LVM_FIRST + 74;
  318. LVM_GETITEMW = LVM_FIRST + 75;
  319. LVM_SETITEMW = LVM_FIRST + 76;
  320. LVM_INSERTITEMW = LVM_FIRST + 77;
  321. LVM_GETTOOLTIPS = LVM_FIRST + 78;
  322. LVM_SORTITEMSEX = LVM_FIRST + 81;
  323. LVM_FINDITEMW = LVM_FIRST + 83;
  324. LVM_GETSTRINGWIDTHW = LVM_FIRST + 87;
  325. LVM_GETCOLUMNW = LVM_FIRST + 95;
  326. LVM_SETCOLUMNW = LVM_FIRST + 96;
  327. LVM_INSERTCOLUMNW = LVM_FIRST + 97;
  328. LVM_GETITEMTEXTW = LVM_FIRST + 115;
  329. LVM_SETITEMTEXTW = LVM_FIRST + 116;
  330. LVM_GETISEARCHSTRINGW = LVM_FIRST + 117;
  331. LVM_EDITLABELW = LVM_FIRST + 118;
  332. LVM_SETBKIMAGEW = LVM_FIRST + 138;
  333. LVM_GETBKIMAGEW = LVM_FIRST + 139;
  334. LVM_GETITEM = LVM_GETITEMA;
  335. LVM_SETITEM = LVM_SETITEMA;
  336. LVM_INSERTITEM = LVM_INSERTITEMA;
  337. LVM_GETCOLUMN = LVM_GETCOLUMNA;
  338. LVM_SETCOLUMN = LVM_SETCOLUMNA;
  339. LVM_INSERTCOLUMN = LVM_INSERTCOLUMNA;
  340. LVM_GETITEMTEXT = LVM_GETITEMTEXTA;
  341. LVM_SETITEMTEXT = LVM_SETITEMTEXTA;
  342. LVM_EDITLABEL = LVM_EDITLABELA;
  343. LVM_FINDITEM = LVM_FINDITEMA;
  344. LVM_GETISEARCHSTRING = LVM_GETISEARCHSTRINGA;
  345. LVM_GETSTRINGWIDTH = LVM_GETSTRINGWIDTHA;
  346. LVM_SETBKIMAGE = LVM_SETBKIMAGEA;
  347. LVM_GETBKIMAGE = LVM_GETBKIMAGEA;
  348. LV_MAX_WORKAREAS = 16;
  349. LVIR_BOUNDS = 0;
  350. LVIR_ICON = 1;
  351. LVIR_LABEL = 2;
  352. LVIR_SELECTBOUNDS = 3;
  353. LVHT_NOWHERE = $0001;
  354. LVHT_ONITEMICON = $0002;
  355. LVHT_ONITEMLABEL = $0004;
  356. LVHT_ONITEMSTATEICON = $0008;
  357. LVHT_ONITEM = LVHT_ONITEMICON or LVHT_ONITEMLABEL or
  358. LVHT_ONITEMSTATEICON;
  359. LVHT_ABOVE = $0008;
  360. LVHT_BELOW = $0010;
  361. LVHT_TORIGHT = $0020;
  362. LVHT_TOLEFT = $0040;
  363. LVNI_ALL = $0000;
  364. LVNI_FOCUSED = $0001;
  365. LVNI_SELECTED = $0002;
  366. LVNI_CUT = $0004;
  367. LVNI_DROPHILITED = $0008;
  368. LVNI_ABOVE = $0100;
  369. LVNI_BELOW = $0200;
  370. LVNI_TOLEFT = $0400;
  371. LVNI_TORIGHT = $0800;
  372. { WM_NOTIFY codes }
  373. NM_FIRST = 0- 0; { generic to all controls }
  374. NM_LAST = 0- 99;
  375. NM_OUTOFMEMORY = NM_FIRST-1;
  376. NM_CLICK = NM_FIRST-2;
  377. NM_DBLCLK = NM_FIRST-3;
  378. NM_RETURN = NM_FIRST-4;
  379. NM_RCLICK = NM_FIRST-5;
  380. NM_RDBLCLK = NM_FIRST-6;
  381. NM_SETFOCUS = NM_FIRST-7;
  382. NM_KILLFOCUS = NM_FIRST-8;
  383. NM_CUSTOMDRAW = NM_FIRST-12;
  384. NM_HOVER = NM_FIRST-13;
  385. NM_NCHITTEST = NM_FIRST-14; // uses NMMOUSE struct
  386. NM_KEYDOWN = NM_FIRST-15; // uses NMKEY struct
  387. NM_RELEASEDCAPTURE = NM_FIRST-16;
  388. NM_SETCURSOR = NM_FIRST-17; // uses NMMOUSE struct
  389. NM_CHAR = NM_FIRST-18; // uses NMCHAR struct
  390. LVN_FIRST = 0-100; { listview }
  391. LVN_LAST = 0-199;
  392. LVN_ITEMCHANGING = LVN_FIRST-0;
  393. LVN_ITEMCHANGED = LVN_FIRST-1;
  394. LVN_INSERTITEM = LVN_FIRST-2;
  395. LVN_DELETEITEM = LVN_FIRST-3;
  396. LVN_DELETEALLITEMS = LVN_FIRST-4;
  397. LVN_COLUMNCLICK = LVN_FIRST-8;
  398. LVN_BEGINDRAG = LVN_FIRST-9;
  399. LVN_BEGINRDRAG = LVN_FIRST-11;
  400. LVN_ODCACHEHINT = LVN_FIRST-13;
  401. LVN_ODFINDITEMA = LVN_FIRST-52;
  402. LVN_ODFINDITEMW = LVN_FIRST-79;
  403. LVN_ITEMACTIVATE = LVN_FIRST-14;
  404. LVN_ODSTATECHANGED = LVN_FIRST-15;
  405. LVN_ODFINDITEM = LVN_ODFINDITEMA;
  406. LVN_BEGINLABELEDITA = LVN_FIRST-5;
  407. LVN_ENDLABELEDITA = LVN_FIRST-6;
  408. LVN_BEGINLABELEDITW = LVN_FIRST-75;
  409. LVN_ENDLABELEDITW = LVN_FIRST-76;
  410. LVN_BEGINLABELEDIT = LVN_BEGINLABELEDITA;
  411. LVN_ENDLABELEDIT = LVN_ENDLABELEDITA;
  412. LVN_HOTTRACK = LVN_FIRST-21;
  413. LVN_GETDISPINFOA = LVN_FIRST-50;
  414. LVN_SETDISPINFOA = LVN_FIRST-51;
  415. LVN_GETDISPINFOW = LVN_FIRST-77;
  416. LVN_SETDISPINFOW = LVN_FIRST-78;
  417. LVN_GETDISPINFO = LVN_GETDISPINFOA;
  418. LVN_SETDISPINFO = LVN_SETDISPINFOA;
  419. type
  420. tagNMLVODSTATECHANGE = packed record
  421. hdr: TNMHdr;
  422. iFrom: Integer;
  423. iTo: Integer;
  424. uNewState: UINT;
  425. uOldState: UINT;
  426. end;
  427. PNMLVODStateChange = ^TNMLVODStateChange;
  428. TNMLVODStateChange = tagNMLVODSTATECHANGE;
  429. type
  430. PLVColumn = ^TLVColumn;
  431. TLVColumn = packed record
  432. mask: DWORD;
  433. fmt: DWORD;
  434. cx: Integer;
  435. pszText: PChar;
  436. cchTextMax: Integer;
  437. iSubItem: Integer;
  438. // only IE4+ :
  439. iImage: Integer;
  440. iOrder: Integer;
  441. end;
  442. PLVColumnW = ^TLVColumnW;
  443. TLVColumnW = packed record
  444. mask: DWORD;
  445. fmt: DWORD;
  446. cx: Integer;
  447. pszText: PWideChar;
  448. cchTextMax: Integer;
  449. iSubItem: Integer;
  450. // only IE4+ :
  451. iImage: Integer;
  452. iOrder: Integer;
  453. end;
  454. PLVItem = ^TLVItem;
  455. TLVItem = packed record
  456. mask: DWORD;
  457. iItem: Integer;
  458. iSubItem: Integer;
  459. state: Integer;
  460. stateMask: DWORD;
  461. pszText: PChar;
  462. cchTextMax: Integer;
  463. iImage: Integer;
  464. lParam: LParam;
  465. iIndent: Integer; // only for IE3.0 and higher
  466. end;
  467. PLVItemW = ^TLVItemW;
  468. TLVItemW = packed record
  469. mask: DWORD;
  470. iItem: Integer;
  471. iSubItem: Integer;
  472. state: Integer;
  473. stateMask: DWORD;
  474. pszText: PWideChar;
  475. cchTextMax: Integer;
  476. iImage: Integer;
  477. lParam: LParam;
  478. iIndent: Integer; // only for IE3.0 and higher
  479. end;
  480. PLVDispInfo = ^TLVDispInfo;
  481. TLVDispInfo = packed record
  482. hdr: TNMHDR;
  483. item: TLVItem;
  484. end;
  485. PLVDispInfoW = ^TLVDispInfoW;
  486. TLVDispInfoW = packed record
  487. hdr: TNMHDR;
  488. item: TLVItemW;
  489. end;
  490. PLVFindInfoA = ^TLVFindInfo;
  491. TLVFindInfo = packed record
  492. flags: UINT;
  493. psz: PAnsiChar;
  494. lParam: LPARAM;
  495. pt: TPoint;
  496. vkDirection: UINT;
  497. end;
  498. PLVFindInfoW = ^TLVFindInfoW;
  499. TLVFindInfoW = packed record
  500. flags: UINT;
  501. psz: PWideChar;
  502. lParam: LPARAM;
  503. pt: TPoint;
  504. vkDirection: UINT;
  505. end;
  506. TLVHitTestInfo = packed record
  507. pt: TPoint;
  508. flags: DWORD;
  509. iItem: Integer;
  510. iSubItem: Integer;
  511. end;
  512. const
  513. LVFI_PARAM = $0001;
  514. LVFI_STRING = $0002;
  515. LVFI_PARTIAL = $0008;
  516. LVFI_WRAP = $0020;
  517. LVFI_NEARESTXY = $0040;
  518. const
  519. HDM_FIRST = $1200; { Header messages }
  520. HDM_GETITEMW = HDM_FIRST + 11;
  521. HDM_GETITEMA = HDM_FIRST + 3;
  522. HDM_GETITEM = HDM_GETITEMA;
  523. HDI_WIDTH = $0001;
  524. type
  525. PHDItemA = ^THDItemA;
  526. PHDItemW = ^THDItemW;
  527. PHDItem = PHDItemA;
  528. _HD_ITEMA = packed record
  529. Mask: Cardinal;
  530. cxy: Integer;
  531. pszText: PAnsiChar;
  532. hbm: HBITMAP;
  533. cchTextMax: Integer;
  534. fmt: Integer;
  535. lParam: LPARAM;
  536. iImage: Integer; // index of bitmap in ImageList
  537. iOrder: Integer; // where to draw this item
  538. end;
  539. _HD_ITEMW = packed record
  540. Mask: Cardinal;
  541. cxy: Integer;
  542. pszText: PWideChar;
  543. hbm: HBITMAP;
  544. cchTextMax: Integer;
  545. fmt: Integer;
  546. lParam: LPARAM;
  547. iImage: Integer; // index of bitmap in ImageList
  548. iOrder: Integer; // where to draw this item
  549. end;
  550. THDItemA = _HD_ITEMA;
  551. THDItemW = _HD_ITEMW;
  552. THDItem = THDItemA;
  553. const
  554. TVS_HASBUTTONS = $0001;
  555. TVS_HASLINES = $0002;
  556. TVS_LINESATROOT = $0004;
  557. TVS_EDITLABELS = $0008;
  558. TVS_DISABLEDRAGDROP = $0010;
  559. TVS_SHOWSELALWAYS = $0020;
  560. TVS_RTLREADING = $0040;
  561. TVS_NOTOOLTIPS = $0080;
  562. TVS_CHECKBOXES = $0100;
  563. TVS_TRACKSELECT = $0200;
  564. TVS_SINGLEEXPAND = $0400;
  565. TVS_INFOTIP = $0800;
  566. TVS_FULLROWSELECT = $1000;
  567. TVS_NOSCROLL = $2000;
  568. TVS_NONEVENHEIGHT = $4000;
  569. TVIF_TEXT = $0001;
  570. TVIF_IMAGE = $0002;
  571. TVIF_PARAM = $0004;
  572. TVIF_STATE = $0008;
  573. TVIF_HANDLE = $0010;
  574. TVIF_SELECTEDIMAGE = $0020;
  575. TVIF_CHILDREN = $0040;
  576. TVIF_INTEGRAL = $0080;
  577. TVIF_DI_SETITEM = $1000;
  578. TVIS_FOCUSED = $0001;
  579. TVIS_SELECTED = $0002;
  580. TVIS_CUT = $0004;
  581. TVIS_DROPHILITED = $0008;
  582. TVIS_BOLD = $0010;
  583. TVIS_EXPANDED = $0020;
  584. TVIS_EXPANDEDONCE = $0040;
  585. TVIS_EXPANDPARTIAL = $0080;
  586. TVIS_OVERLAYMASK = $0F00;
  587. TVIS_STATEIMAGEMASK = $F000;
  588. TVIS_USERMASK = $F000;
  589. TV_FIRST = $1100; { TreeView messages }
  590. TVM_INSERTITEMA = TV_FIRST + 0;
  591. TVM_INSERTITEM = TVM_INSERTITEMA;
  592. TVM_DELETEITEM = TV_FIRST + 1;
  593. TVM_EXPAND = TV_FIRST + 2;
  594. TVE_COLLAPSE = $0001;
  595. TVE_EXPAND = $0002;
  596. TVE_TOGGLE = $0003;
  597. TVE_EXPANDPARTIAL = $4000;
  598. TVE_COLLAPSERESET = $8000;
  599. TVM_GETITEMRECT = TV_FIRST + 4;
  600. TVM_GETCOUNT = TV_FIRST + 5;
  601. TVM_GETINDENT = TV_FIRST + 6;
  602. TVM_SETINDENT = TV_FIRST + 7;
  603. TVM_GETIMAGELIST = TV_FIRST + 8;
  604. TVSIL_NORMAL = 0;
  605. TVSIL_STATE = 2;
  606. TVM_SETIMAGELIST = TV_FIRST + 9;
  607. TVM_GETNEXTITEM = TV_FIRST + 10;
  608. TVGN_ROOT = $0000;
  609. TVGN_NEXT = $0001;
  610. TVGN_PREVIOUS = $0002;
  611. TVGN_PARENT = $0003;
  612. TVGN_CHILD = $0004;
  613. TVGN_FIRSTVISIBLE = $0005;
  614. TVGN_NEXTVISIBLE = $0006;
  615. TVGN_PREVIOUSVISIBLE = $0007;
  616. TVGN_DROPHILITE = $0008;
  617. TVGN_CARET = $0009;
  618. TVGN_LASTVISIBLE = $000A;
  619. TVM_SELECTITEM = TV_FIRST + 11;
  620. TVM_GETITEMA = TV_FIRST + 12;
  621. TVM_GETITEM = TVM_GETITEMA;
  622. TVM_SETITEMA = TV_FIRST + 13;
  623. TVM_SETITEM = TVM_SETITEMA;
  624. TVM_EDITLABELA = TV_FIRST + 14;
  625. TVM_EDITLABEL = TVM_EDITLABELA;
  626. TVM_GETEDITCONTROL = TV_FIRST + 15;
  627. TVM_GETVISIBLECOUNT = TV_FIRST + 16;
  628. TVM_HITTEST = TV_FIRST + 17;
  629. TVHT_NOWHERE = $0001;
  630. TVHT_ONITEMICON = $0002;
  631. TVHT_ONITEMLABEL = $0004;
  632. TVHT_ONITEMINDENT = $0008;
  633. TVHT_ONITEMBUTTON = $0010;
  634. TVHT_ONITEMRIGHT = $0020;
  635. TVHT_ONITEMSTATEICON = $0040;
  636. TVHT_ONITEM = TVHT_ONITEMICON or TVHT_ONITEMLABEL or
  637. TVHT_ONITEMSTATEICON;
  638. TVHT_ABOVE = $0100;
  639. TVHT_BELOW = $0200;
  640. TVHT_TORIGHT = $0400;
  641. TVHT_TOLEFT = $0800;
  642. TVM_CREATEDRAGIMAGE = TV_FIRST + 18;
  643. TVM_SORTCHILDREN = TV_FIRST + 19;
  644. TVM_ENSUREVISIBLE = TV_FIRST + 20;
  645. TVM_SORTCHILDRENCB = TV_FIRST + 21;
  646. TVM_ENDEDITLABELNOW = TV_FIRST + 22;
  647. TVM_GETISEARCHSTRINGA = TV_FIRST + 23;
  648. TVM_GETISEARCHSTRING = TVM_GETISEARCHSTRINGA;
  649. TVM_SETTOOLTIPS = TV_FIRST + 24;
  650. TVM_GETTOOLTIPS = TV_FIRST + 25;
  651. TVM_SETINSERTMARK = TV_FIRST + 26;
  652. TVM_SETITEMHEIGHT = TV_FIRST + 27;
  653. TVM_GETITEMHEIGHT = TV_FIRST + 28;
  654. TVM_SETBKCOLOR = TV_FIRST + 29;
  655. TVM_SETTEXTCOLOR = TV_FIRST + 30;
  656. TVM_GETBKCOLOR = TV_FIRST + 31;
  657. TVM_GETTEXTCOLOR = TV_FIRST + 32;
  658. TVM_SETSCROLLTIME = TV_FIRST + 33;
  659. TVM_GETSCROLLTIME = TV_FIRST + 34;
  660. TVM_SETINSERTMARKCOLOR = TV_FIRST + 37;
  661. TVM_GETINSERTMARKCOLOR = TV_FIRST + 38;
  662. TVM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT;
  663. TVM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT;
  664. TVM_INSERTITEMW = TV_FIRST + 50;
  665. TVM_GETITEMW = TV_FIRST + 62;
  666. TVM_SETITEMW = TV_FIRST + 63;
  667. TVM_EDITLABELW = TV_FIRST + 65;
  668. TVM_GETISEARCHSTRINGW = TV_FIRST + 64;
  669. TVN_FIRST = 0-400; { treeview }
  670. TVN_LAST = 0-499;
  671. TVN_SELCHANGINGA = TVN_FIRST-1;
  672. TVN_SELCHANGEDA = TVN_FIRST-2;
  673. TVN_SELCHANGINGW = TVN_FIRST-50;
  674. TVN_SELCHANGEDW = TVN_FIRST-51;
  675. TVN_SELCHANGING = TVN_SELCHANGINGA;
  676. TVN_SELCHANGED = TVN_SELCHANGEDA;
  677. TVC_UNKNOWN = $0000;
  678. TVC_BYMOUSE = $0001;
  679. TVC_BYKEYBOARD = $0002;
  680. TVN_GETDISPINFOA = TVN_FIRST-3;
  681. TVN_SETDISPINFOA = TVN_FIRST-4;
  682. TVN_GETDISPINFOW = TVN_FIRST-52;
  683. TVN_SETDISPINFOW = TVN_FIRST-53;
  684. TVN_GETDISPINFO = TVN_GETDISPINFOA;
  685. TVN_SETDISPINFO = TVN_SETDISPINFOA;
  686. TVN_ITEMEXPANDINGA = TVN_FIRST-5;
  687. TVN_ITEMEXPANDEDA = TVN_FIRST-6;
  688. TVN_BEGINDRAGA = TVN_FIRST-7;
  689. TVN_BEGINRDRAGA = TVN_FIRST-8;
  690. TVN_DELETEITEMA = TVN_FIRST-9;
  691. TVN_BEGINLABELEDITA = TVN_FIRST-10;
  692. TVN_ENDLABELEDITA = TVN_FIRST-11;
  693. TVN_GETINFOTIPA = TVN_FIRST-13;
  694. TVN_ITEMEXPANDINGW = TVN_FIRST-54;
  695. TVN_ITEMEXPANDEDW = TVN_FIRST-55;
  696. TVN_BEGINDRAGW = TVN_FIRST-56;
  697. TVN_BEGINRDRAGW = TVN_FIRST-57;
  698. TVN_DELETEITEMW = TVN_FIRST-58;
  699. TVN_BEGINLABELEDITW = TVN_FIRST-59;
  700. TVN_ENDLABELEDITW = TVN_FIRST-60;
  701. TVN_GETINFOTIPW = TVN_FIRST-14;
  702. TVN_ITEMEXPANDING = TVN_ITEMEXPANDINGA;
  703. TVN_ITEMEXPANDED = TVN_ITEMEXPANDEDA;
  704. TVN_BEGINDRAG = TVN_BEGINDRAGA;
  705. TVN_BEGINRDRAG = TVN_BEGINRDRAGA;
  706. TVN_DELETEITEM = TVN_DELETEITEMA;
  707. TVN_BEGINLABELEDIT = TVN_BEGINLABELEDITA;
  708. TVN_ENDLABELEDIT = TVN_ENDLABELEDITA;
  709. TVN_GETINFOTIP = TVN_GETINFOTIPA;
  710. TVN_KEYDOWN = TVN_FIRST-12;
  711. TVN_SINGLEEXPAND = TVN_FIRST-15;
  712. TVI_ROOT = $FFFF0000;
  713. TVI_FIRST = $FFFF0001;
  714. TVI_LAST = $FFFF0002;
  715. TVI_SORT = $FFFF0003;
  716. type
  717. PTVItemA = ^TTVItemA;
  718. PTVItemW = ^TTVItemW;
  719. PTVItem = PTVItemA;
  720. tagTVITEMA = packed record
  721. mask: UINT;
  722. hItem: THandle;
  723. state: UINT;
  724. stateMask: UINT;
  725. pszText: PAnsiChar;
  726. cchTextMax: Integer;
  727. iImage: Integer;
  728. iSelectedImage: Integer;
  729. cChildren: Integer;
  730. lParam: LPARAM;
  731. end;
  732. tagTVITEMW = packed record
  733. mask: UINT;
  734. hItem: THandle;
  735. state: UINT;
  736. stateMask: UINT;
  737. pszText: PWideChar;
  738. cchTextMax: Integer;
  739. iImage: Integer;
  740. iSelectedImage: Integer;
  741. cChildren: Integer;
  742. lParam: LPARAM;
  743. end;
  744. tagTVITEM = tagTVITEMA;
  745. _TV_ITEMA = tagTVITEMA;
  746. _TV_ITEMW = tagTVITEMW;
  747. _TV_ITEM = _TV_ITEMA;
  748. TTVItemA = tagTVITEMA;
  749. TTVItemW = tagTVITEMW;
  750. TTVItem = TTVItemA;
  751. TV_ITEMA = tagTVITEMA;
  752. TV_ITEMW = tagTVITEMW;
  753. TV_ITEM = TV_ITEMA;
  754. // only used for Get and Set messages. no notifies
  755. tagTVITEMEXA = packed record
  756. mask: UINT;
  757. hItem: THandle;
  758. state: UINT;
  759. stateMask: UINT;
  760. pszText: PAnsiChar;
  761. cchTextMax: Integer;
  762. iImage: Integer;
  763. iSelectedImage: Integer;
  764. cChildren: Integer;
  765. lParam: LPARAM;
  766. iIntegral: Integer;
  767. end;
  768. tagTVITEMEXW = packed record
  769. mask: UINT;
  770. hItem: THandle;
  771. state: UINT;
  772. stateMask: UINT;
  773. pszText: PWideChar;
  774. cchTextMax: Integer;
  775. iImage: Integer;
  776. iSelectedImage: Integer;
  777. cChildren: Integer;
  778. lParam: LPARAM;
  779. iIntegral: Integer;
  780. end;
  781. tagTVITEMEX = tagTVITEMEXA;
  782. PTVItemExA = ^TTVItemExA;
  783. PTVItemExW = ^TTVItemExW;
  784. PTVItemEx = PTVItemExA;
  785. TTVItemExA = tagTVITEMEXA;
  786. TTVItemExW = tagTVITEMEXW;
  787. TTVItemEx = TTVItemExA;
  788. PNMTreeViewA = ^TNMTreeViewA;
  789. PNMTreeViewW = ^TNMTreeViewW;
  790. PNMTreeView = PNMTreeViewA;
  791. tagNMTREEVIEWA = packed record
  792. hdr: TNMHDR;
  793. action: Integer;
  794. itemOld: TTVItemA;
  795. itemNew: TTVItemA;
  796. ptDrag: TPoint;
  797. end;
  798. tagNMTREEVIEWW = packed record
  799. hdr: TNMHDR;
  800. action: Integer;
  801. itemOld: TTVItemW;
  802. itemNew: TTVItemW;
  803. ptDrag: TPoint;
  804. end;
  805. tagNMTREEVIEW = tagNMTREEVIEWA;
  806. _NM_TREEVIEWA = tagNMTREEVIEWA;
  807. _NM_TREEVIEWW = tagNMTREEVIEWW;
  808. _NM_TREEVIEW = _NM_TREEVIEWA;
  809. TNMTreeViewA = tagNMTREEVIEWA;
  810. TNMTreeViewW = tagNMTREEVIEWW;
  811. TNMTreeView = TNMTreeViewA;
  812. NM_TREEVIEWA = tagNMTREEVIEWA;
  813. NM_TREEVIEWW = tagNMTREEVIEWW;
  814. NM_TREEVIEW = NM_TREEVIEWA;
  815. tagNMCUSTOMDRAWINFO = packed record
  816. hdr: TNMHdr;
  817. dwDrawStage: DWORD;
  818. hdc: HDC;
  819. rc: TRect;
  820. dwItemSpec: DWORD; // this is control specific, but it's how to specify an item. valid only with CDDS_ITEM bit set
  821. uItemState: UINT;
  822. lItemlParam: LPARAM;
  823. end;
  824. PNMCustomDraw = ^TNMCustomDraw;
  825. TNMCustomDraw = tagNMCUSTOMDRAWINFO;
  826. const
  827. // custom draw return flags
  828. // values under 0x00010000 are reserved for global custom draw values.
  829. // above that are for specific controls
  830. CDRF_DODEFAULT = $00000000;
  831. CDRF_NEWFONT = $00000002;
  832. CDRF_SKIPDEFAULT = $00000004;
  833. CDRF_NOTIFYPOSTPAINT = $00000010;
  834. CDRF_NOTIFYITEMDRAW = $00000020;
  835. CDRF_NOTIFYSUBITEMDRAW = $00000020; // flags are the same, we can distinguish by context
  836. CDRF_NOTIFYPOSTERASE = $00000040;
  837. // drawstage flags
  838. // values under = $00010000 are reserved for global custom draw values.
  839. // above that are for specific controls
  840. CDDS_PREPAINT = $00000001;
  841. CDDS_POSTPAINT = $00000002;
  842. CDDS_PREERASE = $00000003;
  843. CDDS_POSTERASE = $00000004;
  844. // the = $000010000 bit means it's individual item specific
  845. CDDS_ITEM = $00010000;
  846. CDDS_ITEMPREPAINT = CDDS_ITEM or CDDS_PREPAINT;
  847. CDDS_ITEMPOSTPAINT = CDDS_ITEM or CDDS_POSTPAINT;
  848. CDDS_ITEMPREERASE = CDDS_ITEM or CDDS_PREERASE;
  849. CDDS_ITEMPOSTERASE = CDDS_ITEM or CDDS_POSTERASE;
  850. CDDS_SUBITEM = $00020000;
  851. // itemState flags
  852. CDIS_SELECTED = $0001;
  853. CDIS_GRAYED = $0002;
  854. CDIS_DISABLED = $0004;
  855. CDIS_CHECKED = $0008;
  856. CDIS_FOCUS = $0010;
  857. CDIS_DEFAULT = $0020;
  858. CDIS_HOT = $0040;
  859. CDIS_MARKED = $0080;
  860. CDIS_INDETERMINATE = $0100;
  861. type
  862. tagNMLVCUSTOMDRAW = packed record
  863. nmcd: TNMCustomDraw;
  864. clrText: COLORREF;
  865. clrTextBk: COLORREF;
  866. iSubItem: Integer; // IE 4.0 and higher
  867. end;
  868. PNMLVCustomDraw = ^TNMLVCustomDraw;
  869. TNMLVCustomDraw = tagNMLVCUSTOMDRAW;
  870. PTVDispInfoA = ^TTVDispInfoA;
  871. PTVDispInfoW = ^TTVDispInfoW;
  872. PTVDispInfo = PTVDispInfoA;
  873. tagTVDISPINFOA = packed record
  874. hdr: TNMHDR;
  875. item: TTVItemA;
  876. end;
  877. tagTVDISPINFOW = packed record
  878. hdr: TNMHDR;
  879. item: TTVItemW;
  880. end;
  881. tagTVDISPINFO = tagTVDISPINFOA;
  882. _TV_DISPINFOA = tagTVDISPINFOA;
  883. _TV_DISPINFOW = tagTVDISPINFOW;
  884. _TV_DISPINFO = _TV_DISPINFOA;
  885. TTVDispInfoA = tagTVDISPINFOA;
  886. TTVDispInfoW = tagTVDISPINFOW;
  887. TTVDispInfo = TTVDispInfoA;
  888. TV_DISPINFOA = tagTVDISPINFOA;
  889. TV_DISPINFOW = tagTVDISPINFOW;
  890. TV_DISPINFO = TV_DISPINFOA;
  891. tagNMMOUSE = packed record
  892. hdr: TNMHdr;
  893. dwItemSpec: DWORD;
  894. dwItemData: DWORD;
  895. pt: TPoint;
  896. dwHitInfo: DWORD; // any specifics about where on the item or control the mouse is
  897. end;
  898. PNMMouse = ^TNMMouse;
  899. TNMMouse = tagNMMOUSE;
  900. type
  901. PTVHitTestInfo = ^TTVHitTestInfo;
  902. TTVHitTestInfo = packed Record
  903. pt: TPoint;
  904. fl: DWORD;
  905. hItem: THandle;
  906. end;
  907. const
  908. cctrl = 'comctl32.dll';
  909. HINST_COMMCTRL = THandle(-1);
  910. CCS_TOP = $00000001;
  911. CCS_NOMOVEY = $00000002;
  912. CCS_BOTTOM = $00000003;
  913. CCS_NORESIZE = $00000004;
  914. CCS_NOPARENTALIGN = $00000008;
  915. CCS_ADJUSTABLE = $00000020;
  916. CCS_NODIVIDER = $00000040;
  917. CCS_VERT = $00000080;
  918. CCS_LEFT = (CCS_VERT or CCS_TOP);
  919. CCS_RIGHT = (CCS_VERT or CCS_BOTTOM);
  920. CCS_NOMOVEX = (CCS_VERT or CCS_NOMOVEY);
  921. PROGRESS_CLASS: array[ 0..17 ] of Char = ('m','s','c','t','l','s','_',
  922. 'p','r','o','g','r','e','s','s','3','2',#0);
  923. STATUSCLASSNAME: array[ 0..18 ] of Char = ('m','s','c','t','l','s','_',
  924. 's','t','a','t','u','s','b','a','r','3','2',#0);
  925. WC_LISTVIEW: array[0..13] of Char = ('S','y','s','L','i','s','t',
  926. 'V','i','e','w','3','2',#0);
  927. TOOLBARCLASSNAME: array[0..15] of Char = ('T','o','o','l','b','a','r',
  928. 'W','i','n','d','o','w','3','2',#0 );
  929. TOOLTIPS_CLASS: array[0..16] of Char = ('t','o','o','l','t','i','p','s','_',
  930. 'c','l','a','s','s','3','2',#0);
  931. WC_TREEVIEW: array[0..13] of Char = ('S','y','s','T','r','e','e',
  932. 'V','i','e','w','3','2',#0);
  933. WC_TABCONTROL: array[0..15] of Char = ('S','y','s','T','a','b','C','o','n','t',
  934. 'r','o','l','3','2',#0);
  935. DATETIMEPICK_CLASS: array[ 0..17 ] of Char = (
  936. 'S','y','s','D','a','t','e','T','i','m','e','P','i','c','k','3','2',#0 );
  937. TBN_FIRST = 0-700; { toolbar }
  938. TBN_LAST = 0-720;
  939. TBCDRF_NOEDGES = $00010000; // Don't draw button edges
  940. TBCDRF_HILITEHOTTRACK = $00020000; // Use color of the button bk when hottracked
  941. TBCDRF_NOOFFSET = $00040000; // Don't offset button if pressed
  942. TBCDRF_NOMARK = $00080000; // Don't draw default highlight of image/text for TBSTATE_MARKED
  943. TBCDRF_NOETCHEDEFFECT = $00100000; // Don't draw etched effect for disabled items
  944. TB_ENABLEBUTTON = WM_USER + 1;
  945. TB_CHECKBUTTON = WM_USER + 2;
  946. TB_PRESSBUTTON = WM_USER + 3;
  947. TB_HIDEBUTTON = WM_USER + 4;
  948. TB_INDETERMINATE = WM_USER + 5;
  949. TB_MARKBUTTON = WM_USER + 6;
  950. TB_ISBUTTONENABLED = WM_USER + 9;
  951. TB_ISBUTTONCHECKED = WM_USER + 10;
  952. TB_ISBUTTONPRESSED = WM_USER + 11;
  953. TB_ISBUTTONHIDDEN = WM_USER + 12;
  954. TB_ISBUTTONINDETERMINATE = WM_USER + 13;
  955. TB_ISBUTTONHIGHLIGHTED = WM_USER + 14;
  956. TB_SETSTATE = WM_USER + 17;
  957. TB_GETSTATE = WM_USER + 18;
  958. TB_ADDBITMAP = WM_USER + 19;
  959. TB_ADDBUTTONSA = WM_USER + 20;
  960. TB_INSERTBUTTONA = WM_USER + 21;
  961. TB_DELETEBUTTON = WM_USER + 22;
  962. TB_GETBUTTON = WM_USER + 23;
  963. TB_BUTTONCOUNT = WM_USER + 24;
  964. TB_COMMANDTOINDEX = WM_USER + 25;
  965. TB_SAVERESTOREA = WM_USER + 26;
  966. TB_ADDSTRINGA = WM_USER + 28;
  967. TB_GETBUTTONTEXTA = WM_USER + 45;
  968. TBN_GETBUTTONINFOA = TBN_FIRST-0;
  969. TB_GETBUTTONINFOW = WM_USER + 63;
  970. TB_SETBUTTONINFOW = WM_USER + 64;
  971. TB_GETBUTTONINFOA = WM_USER + 65;
  972. TB_SETBUTTONINFOA = WM_USER + 66;
  973. TB_GETBUTTONINFO = TB_GETBUTTONINFOA;
  974. TB_SETBUTTONINFO = TB_SETBUTTONINFOA;
  975. TB_SAVERESTOREW = WM_USER + 76;
  976. TB_ADDSTRINGW = WM_USER + 77;
  977. TB_GETBUTTONTEXTW = WM_USER + 75;
  978. TBN_GETBUTTONINFOW = TBN_FIRST-20;
  979. TB_SAVERESTORE = TB_SAVERESTOREA;
  980. TB_ADDSTRING = TB_ADDSTRINGA;
  981. TB_GETBUTTONTEXT = TB_GETBUTTONTEXTA;
  982. TBN_GETBUTTONINFO = TBN_GETBUTTONINFOA;
  983. TBN_DROPDOWN = TBN_FIRST-10;
  984. TBN_CLOSEUP = TBN_FIRST-11;
  985. TB_CUSTOMIZE = WM_USER + 27;
  986. TB_GETITEMRECT = WM_USER + 29;
  987. TB_BUTTONSTRUCTSIZE = WM_USER + 30;
  988. TB_SETBUTTONSIZE = WM_USER + 31;
  989. TB_SETBITMAPSIZE = WM_USER + 32;
  990. TB_AUTOSIZE = WM_USER + 33;
  991. TB_GETTOOLTIPS = WM_USER + 35;
  992. TB_SETTOOLTIPS = WM_USER + 36;
  993. TB_SETPARENT = WM_USER + 37;
  994. TB_SETROWS = WM_USER + 39;
  995. TB_GETROWS = WM_USER + 40;
  996. TB_SETCMDID = WM_USER + 42;
  997. TB_CHANGEBITMAP = WM_USER + 43;
  998. TB_GETBITMAP = WM_USER + 44;
  999. TB_REPLACEBITMAP = WM_USER + 46;
  1000. TB_SETINDENT = WM_USER + 47;
  1001. TB_SETIMAGELIST = WM_USER + 48;
  1002. TB_GETIMAGELIST = WM_USER + 49;
  1003. TB_LOADIMAGES = WM_USER + 50;
  1004. TB_GETRECT = WM_USER + 51; { wParam is the Cmd instead of index }
  1005. TB_SETHOTIMAGELIST = WM_USER + 52;
  1006. TB_GETHOTIMAGELIST = WM_USER + 53;
  1007. TB_SETDISABLEDIMAGELIST = WM_USER + 54;
  1008. TB_GETDISABLEDIMAGELIST = WM_USER + 55;
  1009. TB_SETSTYLE = WM_USER + 56;
  1010. TB_GETSTYLE = WM_USER + 57;
  1011. TB_GETBUTTONSIZE = WM_USER + 58;
  1012. TB_SETBUTTONWIDTH = WM_USER + 59;
  1013. TB_SETMAXTEXTROWS = WM_USER + 60;
  1014. TB_GETTEXTROWS = WM_USER + 61;
  1015. TB_GETOBJECT = WM_USER + 62; // wParam == IID, lParam void **ppv
  1016. TB_GETHOTITEM = WM_USER + 71;
  1017. TB_SETHOTITEM = WM_USER + 72; // wParam == iHotItem
  1018. TB_SETANCHORHIGHLIGHT = WM_USER + 73; // wParam == TRUE/FALSE
  1019. TB_GETANCHORHIGHLIGHT = WM_USER + 74;
  1020. TB_MAPACCELERATORA = WM_USER + 78; // wParam == ch, lParam int * pidBtn
  1021. TB_SETEXTENDEDSTYLE = WM_USER + 84; // For TBSTYLE_EX_*
  1022. TB_GETEXTENDEDSTYLE = WM_USER + 85; // For TBSTYLE_EX_*
  1023. TB_INSERTBUTTON = TB_INSERTBUTTONA;
  1024. TB_ADDBUTTONS = TB_ADDBUTTONSA;
  1025. IDB_STD_SMALL_COLOR = 0;
  1026. IDB_STD_LARGE_COLOR = 1;
  1027. IDB_VIEW_SMALL_COLOR = 4;
  1028. IDB_VIEW_LARGE_COLOR = 5;
  1029. IDB_HIST_SMALL_COLOR = 8;
  1030. IDB_HIST_LARGE_COLOR = 9;
  1031. STD_CUT = 0;
  1032. STD_COPY = 1;
  1033. STD_PASTE = 2;
  1034. STD_UNDO = 3;
  1035. STD_REDO = 4;
  1036. STD_DELETE = 5;
  1037. STD_FILENEW = 6;
  1038. STD_FILEOPEN = 7;
  1039. STD_FILESAVE = 8;
  1040. STD_PRINTPRE = 9;
  1041. STD_PROPERTIES = 10;
  1042. STD_HELP = 11;
  1043. STD_FIND = 12;
  1044. STD_REPLACE = 13;
  1045. STD_PRINT = 14;
  1046. { icon indexes for standard view bitmap }
  1047. VIEW_LARGEICONS = 0;
  1048. VIEW_SMALLICONS = 1;
  1049. VIEW_LIST = 2;
  1050. VIEW_DETAILS = 3;
  1051. VIEW_SORTNAME = 4;
  1052. VIEW_SORTSIZE = 5;
  1053. VIEW_SORTDATE = 6;
  1054. VIEW_SORTTYPE = 7;
  1055. VIEW_PARENTFOLDER = 8;
  1056. VIEW_NETCONNECT = 9;
  1057. VIEW_NETDISCONNECT = 10;
  1058. VIEW_NEWFOLDER = 11;
  1059. VIEW_VIEWMENU = 12;
  1060. { icon indexes for standard history bitmap }
  1061. HIST_BACK = 0;
  1062. HIST_FORWARD = 1;
  1063. HIST_FAVORITES = 2;
  1064. HIST_ADDTOFAVORITES = 3;
  1065. HIST_VIEWTREE = 4;
  1066. TBSTATE_CHECKED = $01;
  1067. TBSTATE_PRESSED = $02;
  1068. TBSTATE_ENABLED = $04;
  1069. TBSTATE_HIDDEN = $08;
  1070. TBSTATE_INDETERMINATE = $10;
  1071. TBSTATE_WRAP = $20;
  1072. TBSTATE_ELLIPSES = $40;
  1073. TBSTATE_MARKED = $80;
  1074. TBSTYLE_BUTTON = $00;
  1075. TBSTYLE_SEP = $01;
  1076. TBSTYLE_CHECK = $02;
  1077. TBSTYLE_GROUP = $04;
  1078. TBSTYLE_CHECKGROUP = TBSTYLE_GROUP or TBSTYLE_CHECK;
  1079. TBSTYLE_DROPDOWN = $08;
  1080. TBSTYLE_AUTOSIZE = $0010; // automatically calculate the cx of the button
  1081. TBSTYLE_NOPREFIX = $0020; // if this button should not have accel prefix
  1082. TBSTYLE_TOOLTIPS = $0100;
  1083. TBSTYLE_WRAPABLE = $0200;
  1084. TBSTYLE_ALTDRAG = $0400;
  1085. TBSTYLE_FLAT = $0800;
  1086. TBSTYLE_LIST = $1000;
  1087. TBSTYLE_CUSTOMERASE = $2000;
  1088. TBSTYLE_REGISTERDROP = $4000;
  1089. TBSTYLE_TRANSPARENT = $8000;
  1090. TBSTYLE_EX_DRAWDDARROWS = $00000001;
  1091. TBIF_IMAGE = $00000001;
  1092. TBIF_TEXT = $00000002;
  1093. TBIF_STATE = $00000004;
  1094. TBIF_STYLE = $00000008;
  1095. TBIF_LPARAM = $00000010;
  1096. TBIF_COMMAND = $00000020;
  1097. TBIF_SIZE = $00000040;
  1098. TTN_FIRST = 0-520; { tooltips }
  1099. TTN_LAST = 0-549;
  1100. TTN_NEEDTEXTA = TTN_FIRST - 0;
  1101. TTN_NEEDTEXT = TTN_FIRST - 0;
  1102. TTN_NEEDTEXTW = TTN_FIRST - 10;
  1103. TTS_ALWAYSTIP = $01;
  1104. TTS_NOPREFIX = $02;
  1105. TTM_ACTIVATE = WM_USER + 1;
  1106. TTM_SETDELAYTIME = WM_USER + 3;
  1107. TTM_ADDTOOLA = WM_USER + 4;
  1108. TTM_DELTOOLA = WM_USER + 5;
  1109. TTM_NEWTOOLRECTA = WM_USER + 6;
  1110. TTM_GETTOOLINFOA = WM_USER + 8;
  1111. TTM_SETTOOLINFOA = WM_USER + 9;
  1112. TTM_HITTESTA = WM_USER + 10;
  1113. TTM_GETTEXTA = WM_USER + 11;
  1114. TTM_UPDATETIPTEXTA = WM_USER + 12;
  1115. TTM_ENUMTOOLSA = WM_USER + 14;
  1116. TTM_GETCURRENTTOOLA = WM_USER + 15;
  1117. TTM_ADDTOOLW = WM_USER + 50;
  1118. TTM_DELTOOLW = WM_USER + 51;
  1119. TTM_NEWTOOLRECTW = WM_USER + 52;
  1120. TTM_GETTOOLINFOW = WM_USER + 53;
  1121. TTM_SETTOOLINFOW = WM_USER + 54;
  1122. TTM_HITTESTW = WM_USER + 55;
  1123. TTM_GETTEXTW = WM_USER + 56;
  1124. TTM_UPDATETIPTEXTW = WM_USER + 57;
  1125. TTM_ENUMTOOLSW = WM_USER + 58;
  1126. TTM_GETCURRENTTOOLW = WM_USER + 59;
  1127. TTM_WINDOWFROMPOINT = WM_USER + 16;
  1128. TTM_TRACKACTIVATE = WM_USER + 17; // wParam = TRUE/FALSE start end lparam = LPTOOLINFO
  1129. TTM_TRACKPOSITION = WM_USER + 18; // lParam = dwPos
  1130. TTM_SETTIPBKCOLOR = WM_USER + 19;
  1131. TTM_SETTIPTEXTCOLOR = WM_USER + 20;
  1132. TTM_GETDELAYTIME = WM_USER + 21;
  1133. TTM_GETTIPBKCOLOR = WM_USER + 22;
  1134. TTM_GETTIPTEXTCOLOR = WM_USER + 23;
  1135. TTM_SETMAXTIPWIDTH = WM_USER + 24;
  1136. TTM_GETMAXTIPWIDTH = WM_USER + 25;
  1137. TTM_SETMARGIN = WM_USER + 26; // lParam = lprc
  1138. TTM_GETMARGIN = WM_USER + 27; // lParam = lprc
  1139. TTM_POP = WM_USER + 28;
  1140. TTM_UPDATE = WM_USER + 29;
  1141. TTM_ADDTOOL = TTM_ADDTOOLA;
  1142. TTM_DELTOOL = TTM_DELTOOLA;
  1143. TTM_NEWTOOLRECT = TTM_NEWTOOLRECTA;
  1144. TTM_GETTOOLINFO = TTM_GETTOOLINFOA;
  1145. TTM_SETTOOLINFO = TTM_SETTOOLINFOA;
  1146. TTM_HITTEST = TTM_HITTESTA;
  1147. TTM_GETTEXT = TTM_GETTEXTA;
  1148. TTM_UPDATETIPTEXT = TTM_UPDATETIPTEXTA;
  1149. TTM_ENUMTOOLS = TTM_ENUMTOOLSA;
  1150. TTM_GETCURRENTTOOL = TTM_GETCURRENTTOOLA;
  1151. TTM_RELAYEVENT = WM_USER + 7;
  1152. TTM_GETTOOLCOUNT = WM_USER +13;
  1153. TTF_IDISHWND = $0001;
  1154. TTF_CENTERTIP = $0002;
  1155. TTF_RTLREADING = $0004;
  1156. TTF_SUBCLASS = $0010;
  1157. TTF_TRACK = $0020;
  1158. TTF_ABSOLUTE = $0080;
  1159. TTF_TRANSPARENT = $0100;
  1160. TTF_DI_SETITEM = $8000; // valid only on the TTN_NEEDTEXT callback
  1161. LPSTR_TEXTCALLBACKA = LPSTR(-1);
  1162. LPSTR_TEXTCALLBACKW = LPWSTR(-1);
  1163. LPSTR_TEXTCALLBACK = LPSTR_TEXTCALLBACKA; CW_USEDEFAULT = Integer($80000000);
  1164. type
  1165. PTBAddBitmap = ^TTBAddBitmap;
  1166. TTBAddBitmap = packed record
  1167. hInst: THandle;
  1168. nID: UINT;
  1169. end;
  1170. PTBButton = ^TTBButton;
  1171. TTBButton = packed record
  1172. iBitmap: Integer;
  1173. idCommand: Integer;
  1174. fsState: Byte;
  1175. fsStyle: Byte;
  1176. bReserved: array[1..2] of Byte;
  1177. dwData: Longint;
  1178. iString: Integer;
  1179. end;
  1180. PTBButtonInfo = ^TTBButtonInfo;
  1181. TTBButtonInfo = packed record
  1182. cbSize: UINT;
  1183. dwMask: DWORD;
  1184. idCommand: Integer;
  1185. iImage: Integer;
  1186. fsState: Byte;
  1187. fsStyle: Byte;
  1188. cx: Word;
  1189. lParam: DWORD;
  1190. pszText: PAnsiChar;
  1191. cchText: Integer;
  1192. end;
  1193. PColorMap = ^TColorMap;
  1194. TColorMap = packed record
  1195. cFrom: TColorRef;
  1196. cTo: TColorRef;
  1197. end;
  1198. PTBNotify = ^TTBnotify;
  1199. TTBNotify = packed record
  1200. hdr: TNMHdr;
  1201. iItem: Integer;
  1202. tbButton: TTBButton;
  1203. cchText: Integer;
  1204. pszText: PChar;
  1205. end;
  1206. PTooltipText = ^TTooltipText;
  1207. TTooltipText = packed record
  1208. hdr: TNMHdr;
  1209. lpszText: PAnsiChar;
  1210. szText: array[0..79] of AnsiChar;
  1211. hinst: HINST;
  1212. uFlags: UINT;
  1213. lParam: LPARAM;
  1214. end;
  1215. PToolInfo = ^TToolInfo;
  1216. TToolInfo = packed record
  1217. cbSize: UINT;
  1218. uFlags: UINT;
  1219. hwnd: HWND;
  1220. uId: UINT;
  1221. Rect: TRect;
  1222. hInst: THandle;
  1223. lpszText: PAnsiChar;
  1224. lParam: LPARAM;
  1225. end;
  1226. const
  1227. WM_MOUSEHOVER = $02A1;
  1228. WM_MOUSELEAVE = $02A3;
  1229. TME_HOVER = $00000001;
  1230. TME_LEAVE = $00000002;
  1231. TME_QUERY = $40000000;
  1232. TME_CANCEL = $80000000;
  1233. HOVER_DEFAULT = $FFFFFFFF;
  1234. ODT_HEADER = 100;
  1235. ODT_TAB = 101;
  1236. ODT_LISTVIEW = 102;
  1237. type
  1238. tagTRACKMOUSEEVENT = packed record
  1239. cbSize: DWORD;
  1240. dwFlags: DWORD;
  1241. hwndTrack: HWND;
  1242. dwHoverTime: DWORD;
  1243. end;
  1244. PTrackMouseEvent = ^TTrackMouseEvent;
  1245. TTrackMouseEvent = tagTRACKMOUSEEVENT;
  1246. { Declare _TrackMouseEvent. This API tries to use the window manager's }
  1247. { implementation of TrackMouseEvent if it is present, otherwise it emulates. }
  1248. function _TrackMouseEvent(lpEventTrack: PTrackMouseEvent): BOOL; stdcall;
  1249. //////////////////////////////////////////////////////////////////////////////
  1250. /////////////////////////////////////////////////////////
  1251. // Some stuff from new Delphi versions (not available in old ones):
  1252. const
  1253. //IDC_HAND = MakeIntResource(32649);
  1254. IDC_HAND = PChar(32649);
  1255. /////////////////////////////////////////////////////////
  1256. const
  1257. VK_PAGE_DOWN = VK_NEXT;
  1258. VK_PAGE_UP = VK_PRIOR;
  1259. VK_ALT = VK_MENU;
  1260. PBT_APMQUERYSUSPEND = 00 ;
  1261. PBT_APMQUERYSTANDBY = 01 ;
  1262. PBT_APMQUERYSUSPENDFAILED = 02 ;
  1263. PBT_APMQUERYSTANDBYFAILED = 03 ;
  1264. PBT_APMSUSPEND = 04 ;
  1265. PBT_APMSTANDBY = 05 ;
  1266. PBT_APMRESUMECRITICAL = 06 ;
  1267. PBT_APMRESUMESUSPEND = 07 ;
  1268. PBT_APMRESUMESTANDBY = 08 ;
  1269. PBTF_APMRESUMEFROMFAILURE = 000001 ;
  1270. PBT_APMBATTERYLOW = 09 ;
  1271. PBT_APMPOWERSTATUSCHANGE = 10 ;
  1272. PBT_APMOEMEVENT = 11 ;
  1273. PBT_APMRESUMEAUTOMATIC = 12 ;
  1274. { DATETIMEPICKER}
  1275. const
  1276. // messages
  1277. DTM_FIRST = $1000;
  1278. DTM_GETSYSTEMTIME = DTM_FIRST + 1;
  1279. DTM_SETSYSTEMTIME = DTM_FIRST + 2;
  1280. DTM_GETRANGE = DTM_FIRST + 3;
  1281. DTM_SETRANGE = DTM_FIRST + 4;
  1282. DTM_SETFORMATA = DTM_FIRST + 5;
  1283. DTM_SETMCCOLOR = DTM_FIRST + 6;
  1284. DTM_GETMCCOLOR = DTM_FIRST + 7;
  1285. DTM_GETMONTHCAL = DTM_FIRST + 8;
  1286. DTM_SETMCFONT = DTM_FIRST + 9;
  1287. DTM_GETMCFONT = DTM_FIRST + 10;
  1288. DTM_SETFORMATW = DTM_FIRST + 50;
  1289. DTM_SETFORMAT = DTM_SETFORMATA;
  1290. // Ranges
  1291. GDTR_MIN = $0001;
  1292. GDTR_MAX = $0002;
  1293. // Return Values
  1294. GDT_ERROR = -1;
  1295. GDT_VALID = 0;
  1296. GDT_NONE = 1;
  1297. // notifications
  1298. DTN_FIRST = 0-760; { datetimepick }
  1299. DTN_LAST = 0-799;
  1300. DTN_DATETIMECHANGE = DTN_FIRST + 1; // the systemtime has changed
  1301. DTN_USERSTRINGA = DTN_FIRST + 2; // the user has entered a string
  1302. DTN_USERSTRINGW = DTN_FIRST + 15;
  1303. DTN_WMKEYDOWNA = DTN_FIRST + 3; // modify keydown on app format field (X)
  1304. DTN_WMKEYDOWNW = DTN_FIRST + 16;
  1305. DTN_FORMATA = DTN_FIRST + 4; // query display for app format field (X)
  1306. DTN_FORMATW = DTN_FIRST + 17;
  1307. DTN_FORMATQUERYA = DTN_FIRST + 5; // query formatting info for app format field (X)
  1308. DTN_FORMATQUERYW = DTN_FIRST + 18;
  1309. DTN_DROPDOWN = DTN_FIRST + 6; // MonthCal has dropped down
  1310. DTN_CLOSEUP = DTN_FIRST + 7; // MonthCal is popping up
  1311. DTN_USERSTRING = DTN_USERSTRINGA;
  1312. DTN_WMKEYDOWN = DTN_WMKEYDOWNA;
  1313. DTN_FORMAT = DTN_FORMATA;
  1314. DTN_FORMATQUERY = DTN_FORMATQUERYA;
  1315. // styles
  1316. DTS_UPDOWN = $0001; // use UPDOWN instead of MONTHCAL
  1317. DTS_SHOWNONE = $0002; // allow a NONE selection
  1318. DTS_SHORTDATEFORMAT = $0000; // use the short date format
  1319. // (app must forward WM_WININICHANGE messages)
  1320. DTS_LONGDATEFORMAT = $0004; // use the long date format
  1321. // (app must forward WM_WININICHANGE messages)
  1322. DTS_TIMEFORMAT = $0008; // use the time format
  1323. // (app must forward WM_WININICHANGE messages)
  1324. DTS_APPCANPARSE = $0010; // allow user entered strings

Large files files are truncated, but you can click here to view the full file