Go to the documentation of this file.
19 #ifndef MCTRL_TREELIST_H
20 #define MCTRL_TREELIST_H
137 #define MC_WC_TREELISTW L"mCtrl.treelist"
139 #define MC_WC_TREELISTA "mCtrl.treelist"
152 #define MC_TLS_HASBUTTONS 0x0001
154 #define MC_TLS_HASLINES 0x0002
158 #define MC_TLS_LINESATROOT 0x0004
160 #define MC_TLS_GRIDLINES 0x0008
163 #define MC_TLS_SHOWSELALWAYS 0x0010
166 #define MC_TLS_FULLROWSELECT 0x0020
169 #define MC_TLS_NONEVENHEIGHT 0x0040
171 #define MC_TLS_DOUBLEBUFFER 0x0080
173 #define MC_TLS_NOCOLUMNHEADER 0x0100
176 #define MC_TLS_HEADERDRAGDROP 0x0200
179 #define MC_TLS_SINGLEEXPAND 0x0400
181 #define MC_TLS_NOTOOLTIPS 0x0800
182 #define MC_TLS_SHAREDIMAGELISTS 0x1000
183 #define MC_TLS_CHECKBOXES 0x2000
184 #define MC_TLS_EDITLABELS 0x4000
197 #define MC_TLCF_FORMAT (1 << 0)
199 #define MC_TLCF_WIDTH (1 << 1)
202 #define MC_TLCF_TEXT (1 << 2)
204 #define MC_TLCF_IMAGE (1 << 3)
206 #define MC_TLCF_ORDER (1 << 4)
218 #define MC_TLFMT_LEFT 0x0
220 #define MC_TLFMT_RIGHT 0x1
222 #define MC_TLFMT_CENTER 0x2
224 #define MC_TLFMT_JUSTIFYMASK 0x3
240 #define MC_TLI_ROOT ((MC_HTREELISTITEM)(ULONG_PTR) -0x10000)
247 #define MC_TLI_FIRST ((MC_HTREELISTITEM)(ULONG_PTR) -0xffff)
254 #define MC_TLI_LAST ((MC_HTREELISTITEM)(ULONG_PTR) -0xfffe)
266 #define MC_TLIF_STATE (1 << 0)
268 #define MC_TLIF_TEXT (1 << 1)
270 #define MC_TLIF_LPARAM (1 << 2)
272 #define MC_TLIF_IMAGE (1 << 3)
274 #define MC_TLIF_SELECTEDIMAGE (1 << 4)
276 #define MC_TLIF_EXPANDEDIMAGE (1 << 5)
288 #define MC_TLIS_SELECTED (1 << 1)
290 #define MC_TLIS_EXPANDED (1 << 5)
303 #define MC_TLSIF_TEXT (1 << 1)
315 #define MC_TLHT_NOWHERE (1 << 0)
317 #define MC_TLHT_ONITEMICON (1 << 1)
319 #define MC_TLHT_ONITEMSTATEICON (1 << 2)
321 #define MC_TLHT_ONITEMLABEL (1 << 3)
323 #define MC_TLHT_ONITEM (MC_TLHT_ONITEMICON | MC_TLHT_ONITEMSTATEICON | MC_TLHT_ONITEMLABEL)
325 #define MC_TLHT_ONITEMINDENT (1 << 4)
327 #define MC_TLHT_ONITEMBUTTON (1 << 5)
329 #define MC_TLHT_ONITEMRIGHT (1 << 6)
332 #define MC_TLHT_ONITEMLEFT (1 << 7)
334 #define MC_TLHT_ABOVE (1 << 8)
336 #define MC_TLHT_BELOW (1 << 9)
338 #define MC_TLHT_TORIGHT (1 << 10)
340 #define MC_TLHT_TOLEFT (1 << 11)
352 #define MC_TLE_COLLAPSE 0x1
354 #define MC_TLE_EXPAND 0x2
356 #define MC_TLE_TOGGLE 0x3
368 #define MC_TLGN_ROOT 0x0
371 #define MC_TLGN_NEXT 0x1
374 #define MC_TLGN_PREVIOUS 0x2
377 #define MC_TLGN_PARENT 0x3
380 #define MC_TLGN_CHILD 0x4
384 #define MC_TLGN_FIRSTVISIBLE 0x5
389 #define MC_TLGN_NEXTVISIBLE 0x6
396 #define MC_TLGN_PREVIOUSVISIBLE 0x7
398 #define MC_TLGN_CARET 0x9
403 #define MC_TLGN_LASTVISIBLE 0xa
417 typedef struct MC_TLCOLUMNW_tag {
441 typedef struct MC_TLCOLUMNA_tag {
471 typedef struct MC_TLITEMW_tag {
499 typedef struct MC_TLITEMA_tag {
527 typedef struct MC_TLSUBITEMW_tag {
544 typedef struct MC_TLSUBITEMA_tag {
561 typedef struct MC_TLINSERTSTRUCTW_tag {
575 typedef struct MC_TLINSERTSTRUCTA_tag {
588 typedef struct MC_TLHITTESTINFO_tag {
614 #define MC_TLM_INSERTCOLUMNW (MC_TLM_FIRST + 0)
622 #define MC_TLM_INSERTCOLUMNA (MC_TLM_FIRST + 1)
630 #define MC_TLM_SETCOLUMNW (MC_TLM_FIRST + 2)
638 #define MC_TLM_SETCOLUMNA (MC_TLM_FIRST + 3)
646 #define MC_TLM_GETCOLUMNW (MC_TLM_FIRST + 4)
654 #define MC_TLM_GETCOLUMNA (MC_TLM_FIRST + 5)
662 #define MC_TLM_DELETECOLUMN (MC_TLM_FIRST + 6)
671 #define MC_TLM_SETCOLUMNORDERARRAY (MC_TLM_FIRST + 7)
681 #define MC_TLM_GETCOLUMNORDERARRAY (MC_TLM_FIRST + 8)
689 #define MC_TLM_SETCOLUMNWIDTH (MC_TLM_FIRST + 9)
697 #define MC_TLM_GETCOLUMNWIDTH (MC_TLM_FIRST + 10)
712 #define MC_TLM_INSERTITEMW (MC_TLM_FIRST + 11)
727 #define MC_TLM_INSERTITEMA (MC_TLM_FIRST + 12)
736 #define MC_TLM_SETITEMW (MC_TLM_FIRST + 13)
745 #define MC_TLM_SETITEMA (MC_TLM_FIRST + 14)
761 #define MC_TLM_GETITEMW (MC_TLM_FIRST + 15)
777 #define MC_TLM_GETITEMA (MC_TLM_FIRST + 16)
790 #define MC_TLM_DELETEITEM (MC_TLM_FIRST + 17)
803 #define MC_TLM_SETITEMHEIGHT (MC_TLM_FIRST + 18)
811 #define MC_TLM_GETITEMHEIGHT (MC_TLM_FIRST + 19)
820 #define MC_TLM_SETSUBITEMW (MC_TLM_FIRST + 20)
829 #define MC_TLM_SETSUBITEMA (MC_TLM_FIRST + 21)
846 #define MC_TLM_GETSUBITEMW (MC_TLM_FIRST + 22)
863 #define MC_TLM_GETSUBITEMA (MC_TLM_FIRST + 23)
871 #define MC_TLM_SETINDENT (MC_TLM_FIRST + 24)
879 #define MC_TLM_GETINDENT (MC_TLM_FIRST + 25)
889 #define MC_TLM_HITTEST (MC_TLM_FIRST + 26)
897 #define MC_TLM_EXPAND (MC_TLM_FIRST + 27)
907 #define MC_TLM_GETNEXTITEM (MC_TLM_FIRST + 28)
915 #define MC_TLM_GETVISIBLECOUNT (MC_TLM_FIRST + 29)
925 #define MC_TLM_ENSUREVISIBLE (MC_TLM_FIRST + 30)
936 #define MC_WC_TREELIST MCTRL_NAME_AW(MC_WC_TREELIST)
938 #define MC_TLCOLUMN MCTRL_NAME_AW(MC_TLCOLUMN)
940 #define MC_TLITEM MCTRL_NAME_AW(MC_TLITEM)
942 #define MC_TLSUBITEM MCTRL_NAME_AW(MC_TLSUBITEM)
944 #define MC_TLINSERTSTRUCT MCTRL_NAME_AW(MC_TLINSERTSTRUCT)
946 #define MC_TLM_SETCOLUMN MCTRL_NAME_AW(MC_TLM_SETCOLUMN)
948 #define MC_TLM_INSERTCOLUMN MCTRL_NAME_AW(MC_TLM_INSERTCOLUMN)
950 #define MC_TLM_SETCOLUMN MCTRL_NAME_AW(MC_TLM_SETCOLUMN)
952 #define MC_TLM_GETCOLUMN MCTRL_NAME_AW(MC_TLM_GETCOLUMN)
954 #define MC_TLM_INSERTITEM MCTRL_NAME_AW(MC_TLM_INSERTITEM)
956 #define MC_TLM_SETITEM MCTRL_NAME_AW(MC_TLM_SETITEM)
958 #define MC_TLM_GETITEM MCTRL_NAME_AW(MC_TLM_GETITEM)
960 #define MC_TLM_SETSUBITEM MCTRL_NAME_AW(MC_TLM_SETSUBITEM)
962 #define MC_TLM_GETSUBITEM MCTRL_NAME_AW(MC_TLM_GETSUBITEM)