📄 treelist.h
字号:
(LPARAM)(LPTL_WATERMARK)(lpwm))
#define TLRB_TOPLEVELONLY 0x0001
typedef struct _TL_DRAGBITMAP {
HBITMAP hbmDrag;
SIZE sizeDrag;
POINT ptCursorPos;
POINT ptHotSpot;
ULONG ulFlags;
} TL_DRAGBITMAP, FAR *LPTL_DRAGBITMAP;
#define TLM_RENDERDRAGBITMAP (TLM_FIRST + 15)
#define TreeList_RenderDragBitmap(hwnd, lpdb) \
(BOOL)SNDMSG((hwnd), TLM_RENDERDRAGBITMAP, 0, \
(LPARAM)(LPTL_DRAGBITMAP)(lpdb))
#define TLM_DRAGOVERPAINT (TLM_FIRST + 16)
#define TreeList_DragOverPaint(hwnd) \
(BOOL)SNDMSG((hwnd), TLM_DRAGOVERPAINT, 0, 0)
#define TLM_SELECTCHILDREN (TLM_FIRST + 20)
#define TreeList_SelectChildren(hwnd, hitem) \
(HTLITEM)SNDMSG((hwnd), TLM_SELECTCHILDREN, 0, \
(LPARAM)(HTLITEM)(hitem))
#define TLM_ITERATESELECTED (TLM_FIRST + 21)
#define TreeList_IterateSelected(hwnd, userstruct) \
(HTLITEM)SNDMSG((hwnd), TLM_ITERATESELECTED, 0, (LPARAM)(userstruct))
#define TLM_GETITEMA (TLM_FIRST + 12)
#define TLM_GETITEMW (TLM_FIRST + 62)
#ifdef UNICODE
#define TLM_GETITEM TLM_GETITEMW
#else
#define TLM_GETITEM TLM_GETITEMA
#endif
#define TreeList_GetItem(hwnd, pitem) \
(BOOL)SNDMSG((hwnd), TLM_GETITEM, 0, (LPARAM)(TL_TREEITEM FAR*)(pitem))
#define TLM_SETITEMA (TLM_FIRST + 13)
#define TLM_SETITEMW (TLM_FIRST + 63)
#ifdef UNICODE
#define TLM_SETITEM TLM_SETITEMW
#else
#define TLM_SETITEM TLM_SETITEMA
#endif
#define TreeList_SetItem(hwnd, pitem) \
(BOOL)SNDMSG((hwnd), TLM_SETITEM, 0, \
(LPARAM)(const TL_TREEITEM FAR*)(pitem))
#define TLM_GETFIRSTITEM (TLM_FIRST + 18)
#define TreeList_GetFirstItem(hwnd) \
(HTLITEM)SNDMSG((hwnd), TLM_GETFIRSTITEM, 0, 0)
typedef struct _TL_COLUMNA
{
UINT mask;
int fmt;
int cx;
LPSTR pszText;
int cchTextMax;
int iSubItem;
UINT iDataType;
BOOL bMouseNotify;
int iHeaderImage;
} TL_COLUMNA;
typedef struct _TL_COLUMNW
{
UINT mask;
int fmt;
int cx;
LPWSTR pszText;
int cchTextMax;
int iSubItem;
UINT iDataType;
BOOL bMouseNotify;
int iHeaderImage;
} TL_COLUMNW;
#ifdef UNICODE
#define TL_COLUMN TL_COLUMNW
#else
#define TL_COLUMN TL_COLUMNA
#endif
#define TLC_DATANONE 0x0000
#define TLC_DATASTRING 0x0001
#define TLC_DATALONG 0x0002
#define TLCF_FMT 0x0001
#define TLCF_WIDTH 0x0002
#define TLCF_TEXT 0x0004
#define TLCF_SUBITEM 0x0008
#define TLCF_DATATYPE 0x0010
#define TLCF_DATAMAX 0x0020
#define TLCF_DATAVALUE 0x0040
#define TLCF_MOUSENOTIFY 0x0080
#define TLCF_HEADERIMAGE 0x0100
#define TLCFMT_LEFT 0x0000
#define TLCFMT_RIGHT 0x0001
#define TLCFMT_CENTER 0x0002
#define TLCFMT_LINBAR 0x0004
#define TLCFMT_LOGBAR 0x0005
#define TLCFMT_IMAGE 0x0006
#define TLCFMT_IMAGELIST 0x0007
#define TLCFMT_HIMAGELIST 0x0008
#define TLCFMT_HICON 0x0009
#define TLM_SETCOLUMNA (TLM_FIRST + 26)
#define TLM_SETCOLUMNW (TLM_FIRST + 96)
#ifdef UNICODE
#define TLM_SETCOLUMN TLM_SETCOLUMNW
#else
#define TLM_SETCOLUMN TLM_SETCOLUMNA
#endif
#define TreeList_SetColumn(hwnd, iCol, pcol) \
(BOOL)SNDMSG((hwnd), TLM_SETCOLUMN, (WPARAM)(int)(iCol), \
(LPARAM)(const TL_COLUMN FAR*)(pcol))
#define TLM_INSERTCOLUMNA (TLM_FIRST + 27)
#define TLM_INSERTCOLUMNW (TLM_FIRST + 97)
#ifdef UNICODE
# define TLM_INSERTCOLUMN TLM_INSERTCOLUMNW
#else
# define TLM_INSERTCOLUMN TLM_INSERTCOLUMNA
#endif
#define TreeList_InsertColumn(hwnd, iCol, pcol) \
(int)SNDMSG((hwnd), TLM_INSERTCOLUMN, (WPARAM)(int)(iCol), \
(LPARAM)(const TL_COLUMN FAR*)(pcol))
#define TLM_DELETEALLCOLUMNS (TLM_FIRST + 25)
#define TreeList_DeleteAllColumns(hwnd) \
(int)SNDMSG((hwnd), TLM_DELETEALLCOLUMNS, 0, 0)
#define TLM_ENSUREVISIBLE (TLM_FIRST + 28)
#define TreeList_EnsureVisible(hwnd, hitem) \
(BOOL)SNDMSG((hwnd), TLM_ENSUREVISIBLE, 0, (LPARAM)(HTLITEM)(hitem))
#define TLM_GETCOLUMNWIDTH (TLM_FIRST + 29)
#define TreeList_GetColumnWidth(hwnd, iCol) \
(int)SNDMSG((hwnd), TLM_GETCOLUMNWIDTH, (WPARAM)(int)(iCol), 0)
#define TLM_GETORDERARRAY (TLM_FIRST + 30)
#define TreeList_GetOrderArray(hwnd, isize, iarray) \
(BOOL)SNDMSG((hwnd), TLM_GETORDERARRAY, \
(WPARAM)(int)(isize), (LPARAM)(HTLITEM)(iarray))
#define TLM_SETWHEELSCROLLLINES (TLM_FIRST + 31)
#define TreeList_SetWheelScrollLines(hwnd, ilines) \
(BOOL)SNDMSG((hwnd), TLM_SETWHEELSCROLLLINES, 0, (LPARAM)(ilines))
#define TLM_STEPANIMATION (TLM_FIRST + 32)
#define TreeList_StepAnimation(hwnd, bstart) \
(BOOL)SNDMSG((hwnd), TLM_STEPANIMATION, \
(WPARAM)bstart, 0)
#define TLM_INVALIDATE (TLM_FIRST + 33)
#define TreeList_Invalidate(hwnd, berase) \
(BOOL)SNDMSG((hwnd), TLM_INVALIDATE, \
(WPARAM)berase, 0)
typedef struct _NM_TREELIST {
NMHDR hdr;
UINT flags;
UINT index;
TL_TREEITEMA itemOld;
TL_TREEITEMA itemNew;
POINT ptDrag;
LPWSTR pszText;
} NM_TREELIST, FAR *LPNM_TREELIST;
#define TLN_SELCHANGED (TLN_FIRST-2)
#define TLC_UNKNOWN 0x0000
#define TLC_BYMOUSE 0x0001
#define TLC_BYKEYBOARD 0x0002
#define TLC_DRAGAFTEREND 0x0010
#define TLC_DRAGBEFORE 0x0020
#define TLC_DRAGAFTER 0x0040
#define TLC_MULTIPLE 0x0080
#define TLN_HEADERCLICKED (TLN_FIRST-3)
#define TLN_LISTITEMCLICKED (TLN_FIRST-4)
#define TLN_ITEMDBLCLICKED (TLN_FIRST-5)
#define TLN_TREEITEMCLICKED (TLN_FIRST-6)
#define TLN_BEGINDRAG (TLN_FIRST-7)
#define TLN_DROP (TLN_FIRST-8)
#define TLN_CONTEXTMENU (TLN_FIRST-9)
#define TLN_KEYDOWN (TLN_FIRST-12)
#define TLN_CHAR (TLN_FIRST-13)
#define TLN_DRAGGEDOVER (TLN_FIRST-14)
#define TLN_HEADERREORDERED (TLN_FIRST-15)
#define TLN_AUTOSCROLLED (TLN_FIRST-16)
#define TLN_TOOLTIPQUERY (TLN_FIRST-17)
#define TLN_HELP (TLN_FIRST-18)
typedef struct _TL_KEYDOWN {
NMHDR hdr;
WORD wVKey;
UINT flags;
} TL_KEYDOWN;
typedef struct _TL_LISTITEMA
{
UINT mask;
UINT state;
UINT stateMask;
HTLITEM hItem;
int iSubItem;
LPSTR pszText;
int cchTextMax;
LONG lDataValue;
} TL_LISTITEMA;
typedef struct _TL_LISTITEMW
{
UINT mask;
UINT state;
UINT stateMask;
HTLITEM hItem;
int iSubItem;
LPWSTR pszText;
int cchTextMax;
LONG lDataValue;
} TL_LISTITEMW;
#ifdef UNICODE
#define TL_LISTITEM TL_LISTITEMW
#else
#define TL_LISTITEM TL_LISTITEMA
#endif
#define TLM_SETLISTITEMA (TLM_FIRST + 7)
#define TLM_SETLISTITEMW (TLM_FIRST + 77)
#ifdef UNICODE
#define TLM_SETLISTITEM TLM_SETLISTITEMW
#else
#define TLM_SETLISTITEM TLM_SETLISTITEMA
#endif
#define TreeList_SetListItem(hwnd, pitem, binval) \
(int)SNDMSG((hwnd), TLM_SETLISTITEM, binval, \
(LPARAM)(const TL_LISTITEM FAR*)(pitem))
#define TLM_GETLISTITEMA (TLM_FIRST + 8)
#define TLM_GETLISTITEMW (TLM_FIRST + 78)
#ifdef UNICODE
#define TLM_GETLISTITEM TLM_GETLISTITEMW
#else
#define TLM_GETLISTITEM TLM_GETLISTITEMA
#endif
#define TreeList_GetListItem(hwnd, pitem) \
(int)SNDMSG((hwnd), TLM_GETLISTITEM, 0, \
(LPARAM)(const TL_LISTITEM FAR*)(pitem))
#endif
#ifdef __cplusplus
}
#endif
#ifdef _WIN32
#include <poppack.h>
#endif
#endif //NOUSER
#endif //_INC_TREELIST
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -