303 lines
15 KiB
C
303 lines
15 KiB
C
//*****************************************************************************
|
|
//*
|
|
//*
|
|
//* TreeListWnd.h
|
|
//*
|
|
//*
|
|
//*****************************************************************************
|
|
#ifndef __TREELISTWND_H__
|
|
#define __TREELISTWND_H__
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif
|
|
|
|
#if defined XLISTCTRLLIB_STATIC
|
|
#define XLISTCTRLLIBDLLEXPORT
|
|
#else
|
|
#ifdef EARTHWORM_EXPORT
|
|
#define XLISTCTRLLIBDLLEXPORT _declspec(dllexport)
|
|
#else
|
|
#define XLISTCTRLLIBDLLEXPORT _declspec(dllimport)
|
|
#endif
|
|
#endif
|
|
|
|
#include <commctrl.h>
|
|
|
|
typedef int (CALLBACK *PFNTVCOMPAREEX)(HWND hWnd,HTREEITEM hItem1,HTREEITEM hItem2,LPARAM lParam1,LPARAM lParam2,LPARAM lParam);
|
|
|
|
typedef struct
|
|
{
|
|
HTREEITEM hParent;
|
|
PFNTVCOMPAREEX lpfnCompare;
|
|
LPARAM lParam;
|
|
}TVSORTEX;
|
|
|
|
typedef struct
|
|
{
|
|
UINT mask;
|
|
int fmt;
|
|
int cx;
|
|
LPTSTR pszText;
|
|
int cchTextMax;
|
|
int iImage;
|
|
}TVCOLUMN;
|
|
|
|
|
|
|
|
|
|
typedef TVSORTEX *LPTVSORTEX;
|
|
typedef TVSORTEX *LPTV_SORTEX;
|
|
typedef TVSORTEX TV_SORTEX;
|
|
|
|
|
|
#define TV_COLUMN LV_COLUMN
|
|
#define TV_NOIMAGE (-2)
|
|
#define TV_NOCOLOR 0xFFFFFFFF
|
|
#define TVIF_TEXTPTR 0x80000000
|
|
#define TVIF_TOOLTIPTIME 0x40000000
|
|
#define TVIF_SUBITEM 0x8000
|
|
#define TVIF_SUBNUMBER 0x4000
|
|
#define TVIS_UNTERLINE 0x0001
|
|
#define TVSCW_AUTOSIZE LVSCW_AUTOSIZE
|
|
#define TVN_COMUMNCLICK HDN_ITEMCLICK
|
|
#define TVN_COMUMNDBLCLICK HDN_ITEMDBLCLICK
|
|
#define TVI_BEFORE ((HTREEITEM) 0xFFFF0006)
|
|
#define TVI_AFTER ((HTREEITEM) 0xFFFF0005)
|
|
#define TVI_ROW(n) ((HTREEITEM)(0xFFE00000+(n)))
|
|
|
|
|
|
// Konstanten f黵 Farben (TVM_SETBKCOLOR)
|
|
#define TVC_BK 0 // Hintergrundfarbe
|
|
#define TVC_ODD 1 // Abwechselnte Farbe (siehe TVS_EX_ALTERNATECOLOR)
|
|
#define TVC_EVEN 2 // Farbe von Eintrag (TVS_EX_ITEMLINES+TVS_EX_ALTERNATECOLOR)
|
|
#define TVC_FRAME 3 // Farbe f黵 Trennlinien (siehe TVS_EX_ITEMLINES)
|
|
#define TVC_TEXT 4 // Textfarbe
|
|
#define TVC_LINE 5 // Innere Farbe der Schaltfl鋍hen
|
|
#define TVC_BOX 6 // 膗遝re Farbe der Schaltfl鋍hen
|
|
#define TVC_TRACK 7 // Farbe f黵 getrakte Texte
|
|
#define TVC_MARK 8 // Markierte Zeile
|
|
#define TVC_MARKODD 8 // Markierte Zeile (ungerade)
|
|
#define TVC_MARKEVEN 9 // Markierte Zeile (gerade)
|
|
#define TVC_INSERT 10 // Farbe der Einf黦emarke
|
|
|
|
|
|
// Konstanten f黵 GetNextItem (TVM_GETNEXTITEM)
|
|
#define TVGN_DROPHILITESUB 0x000C // Ausgew鋒lte Spalte holen
|
|
#define TVGN_CARETSUB 0x000D // Drophighilite Spalte holen
|
|
#ifndef TVGN_NEXTSELECTED
|
|
#define TVGN_NEXTSELECTED 0x000E // N鋍hster ausgew鋒lter Eintrag
|
|
#endif
|
|
#define TVGN_FOCUS 0x000F // Eintrag der den Focus hat
|
|
#define TVGN_FOCUSSUB 0x0010 // Spalte die den Focus hat
|
|
#define TVGN_NEXTSELCHILD 0x0011 // N鋍hster ausgew鋒lter Kindeintrag
|
|
|
|
|
|
// Konstanten f黵 InsertColumn (mask)
|
|
#define TVCF_FMT LVCF_FMT
|
|
#define TVCF_IMAGE LVCF_IMAGE
|
|
#define TVCF_TEXT LVCF_TEXT
|
|
#define TVCF_WIDTH LVCF_WIDTH
|
|
|
|
// Konstanten f黵 ColumnAutoEdit
|
|
#define TVAE_NONE 0x0000 // Kein atomatisches editieren
|
|
#define TVAE_EDIT 0x0001 // Atomatisches editieren mit Edit-Fenster
|
|
#define TVAE_COMBO 0x0002 // Atomatisches editieren mit ComboBox
|
|
#define TVAE_CBLIST 0x0003 // Atomatisches editieren mit ComboListBox
|
|
#define TVAE_STEP 0x0004 // Einzelnes Wieterschalten mit Enter
|
|
#define TVAE_DBLCLICK 0x0010 // Editieren mit Doppelklick
|
|
#define TVAE_FULLWIDTH 0x0020 // Combobox 黚er die volle Breite
|
|
#define TVAE_PTRLIST 0x0040 // Die Datenliste wird als Zeigerliste 黚ergeben
|
|
#define TVAE_ONLYRETURN 0x0080 // Das Editeren kann nur mit Return begonnen werden
|
|
#define TVAE_COL(c) (((c)&0xFF)<< 8) // Ist die Spalte f黵s atomatische Editieren
|
|
#define TVAE_CHAR(c) (((c)&0xFF)<<16) // Ist das Trennzeichen f黵 die Datenliste
|
|
#define TVAE_COUNT(c) (((c)&0xFF)<<24) // Bestimmt die Anzahl der Eintr鋑e in der Datenliste (0=auto)
|
|
|
|
// Konstanten f黵 HitTest (flags)
|
|
#define TVHT_SUBTOCOL(u) (((unsigned)u)>>24) // Umwandeln von Spaltemasken zu Spaltenummern
|
|
#define TVHT_SUBMASK 0xFF000000 // Maske in der die Spalte gespeichert wird
|
|
#define TVHT_ONRIGHTSPACE 0x00800000 // Auf rechtem Rand nach den Extr鋑en
|
|
#define TVHT_ONSUBLABEL 0x00400000 // Koortinate ist auf dem Text eines Extraeintrages
|
|
#define TVHT_ONSUBICON 0x00200000 // Koortinate ist auf einem Extraeintrag
|
|
#define TVHT_ONSUBRIGHT 0x00100000 // Koortinate ist auf einem Extraeintrag rechts vom Text
|
|
#define TVHT_ONSUBITEM (TVHT_ONSUBICON|TVHT_ONSUBLABEL)
|
|
|
|
|
|
// Konstanten f黵 GetItemRect (TVM_GETITEMRECT)
|
|
#define TVIR_COLTOSUB(u) ((u)<<24)
|
|
#define TVIR_GETCOLUMN 0x00000080
|
|
#define TVIR_TEXT 0x00000001
|
|
|
|
|
|
// Konstanten f黵 EditLabel (TVM_GETITEMRECT)
|
|
#define TVIR_EDITCOMBOBOX 0x20000000 // Statt dem Edit-Fenster eine ComboBox einblenden
|
|
#define TVIR_EDITCOMBOLIST 0x40000000 // Statt dem Edit-Fenster eine ComboBox nur mit Listenauswahl einblenden
|
|
#define TVIR_EDITFULL 0x80000000 // Das Edit-Fenster 黚er die volle Breite einblenden
|
|
|
|
|
|
// Konstanten f黵 InsertColumn (mask)
|
|
#define TVCFMT_BITMAP_ON_RIGHT LVCFMT_BITMAP_ON_RIGHT
|
|
#define TVCFMT_COL_HAS_IMAGES LVCFMT_COL_HAS_IMAGES
|
|
#define TVCFMT_CENTER LVCFMT_CENTER
|
|
#define TVCFMT_IMAGE LVCFMT_IMAGE
|
|
#define TVCFMT_LEFT LVCFMT_LEFT
|
|
#define TVCFMT_RIGHT LVCFMT_RIGHT
|
|
|
|
// Konstanten f黵 uStyleEx
|
|
#define TVS_EX_BITCHECKBOX 0x00008000 // Bei Checkboxen nur das unterse Bit 鋘dern
|
|
#define TVS_EX_ITEMLINES 0x00010000 // Um die Eintr鋑e Linien zeichnen
|
|
#define TVS_EX_ALTERNATECOLOR 0x00020000 // Die Farbe abwechselnd darstellen
|
|
#define TVS_EX_SUBSELECT 0x00040000 // Sub-Eitr鋑e seperat ausw鋒len
|
|
#define TVS_EX_FULLROWMARK 0x00080000 // Die ganze Zeile markieren wenn selektiert
|
|
#define TVS_EX_TOOLTIPNOTIFY 0x00100000 // Spezielle Notify-Abfrage bei Tooltips
|
|
#ifndef TVS_EX_MULTISELECT
|
|
#define TVS_EX_MULTISELECT 0x00001000 // Eine Mehrfachauswahl erlauben
|
|
#endif
|
|
#ifndef TVS_EX_AUTOHSCROLL
|
|
#define TVS_EX_AUTOHSCROLL 0x00002000 // Horizontale Scrollbar ausblenden
|
|
#endif
|
|
|
|
#define TVN_ITEMTOOLTIP (TVN_FIRST-32) // Notify Nachricht f黵 Tooltip-Fenster
|
|
#define TVN_CBSTATECHANGED (TVN_FIRST-33) // Notify Nachricht f黵 ge鋘derted Checkbox
|
|
|
|
// Konstanten f黵 neue Nachrichten
|
|
#define TVM_GETHEADER (TV_FIRST+92-1)
|
|
#define TVM_GETCOLUMNCOUNT (TV_FIRST+92-2)
|
|
#define TVM_DELETECOLUMN (TV_FIRST+92-3)
|
|
#define TVM_INSERTCOLUMN (TV_FIRST+92-4)
|
|
#define TVM_SELECTSUBITEM (TV_FIRST+92-5)
|
|
#define TVM_SELECTDROP (TV_FIRST+92-6)
|
|
#define TVM_SETITEMBKCOLOR (TV_FIRST+92-7)
|
|
#define TVM_GETITEMBKCOLOR (TV_FIRST+92-8)
|
|
#define TVM_SETITEMTEXTCOLOR (TV_FIRST+92-9)
|
|
#define TVM_GETITEMTEXTCOLOR (TV_FIRST+92-10)
|
|
#define TVM_GETITEMOFROW (TV_FIRST+92-11)
|
|
#define TVM_GETROWCOUNT (TV_FIRST+92-12)
|
|
#define TVM_GETROWOFITEM (TV_FIRST+92-13)
|
|
#define TVM_SETCOLUMN (TV_FIRST+92-14)
|
|
#define TVM_GETCOLUMN (TV_FIRST+92-15)
|
|
#define TVM_SETCOLUMNWIDTH (TV_FIRST+92-16)
|
|
#define TVM_GETCOLUMNWIDTH (TV_FIRST+92-17)
|
|
#define TVM_SETUSERDATASIZE (TV_FIRST+92-18)
|
|
#define TVM_GETUSERDATASIZE (TV_FIRST+92-19)
|
|
#define TVM_GETUSERDATA (TV_FIRST+92-20)
|
|
#define TVM_SORTCHILDRENEX (TV_FIRST+92-21)
|
|
#define TVM_COLUMNAUTOEDIT (TV_FIRST+92-22)
|
|
#define TVM_COLUMNAUTOICON (TV_FIRST+92-23)
|
|
#ifndef TVM_GETITEMSTATE
|
|
#define TVM_GETITEMSTATE (TV_FIRST+39)
|
|
#endif
|
|
#ifndef TVM_GETEXTENDEDSTYLE
|
|
#define TVM_GETEXTENDEDSTYLE (TV_FIRST+45)
|
|
#endif
|
|
#ifndef TVM_SETEXTENDEDSTYLE
|
|
#define TVM_SETEXTENDEDSTYLE (TV_FIRST+44)
|
|
#endif
|
|
#ifndef TVM_GETLINECOLOR
|
|
#define TVM_GETLINECOLOR (TV_FIRST+41)
|
|
#endif
|
|
#ifndef TVM_SETLINECOLOR
|
|
#define TVM_SETLINECOLOR (TV_FIRST+40)
|
|
#endif
|
|
|
|
|
|
#ifndef TVNRET_DEFAULT
|
|
#define TVNRET_DEFAULT 0
|
|
#endif
|
|
#ifndef TVNRET_SKIPOLD
|
|
#define TVNRET_SKIPOLD 1
|
|
#endif
|
|
#ifndef TVNRET_SKIPNEW
|
|
#define TVNRET_SKIPNEW 2
|
|
#endif
|
|
|
|
#define TreeList_DeleteAllItems(h) ((BOOL )::SendMessage(h,TVM_DELETEITEM,0,TVI_ROOT))
|
|
#define TreeList_DeleteItem(h,i) ((BOOL )::SendMessage(h,TVM_DELETEITEM,0,(LPARAM)(HTREEITEM)(i)))
|
|
#define TreeList_Expand(h,i,c) ((BOOL )::SendMessage(h,TVM_EXPAND,(WPARAM)(c),(LPARAM)(HTREEITEM)(i)))
|
|
#define TreeList_GetHeader(h) ((HWND )::SendMessage(h,TVM_GETHEADER,0,0))
|
|
#define TreeList_DeleteColumn(h,i) ((BOOL )::SendMessage(h,TVM_DELETECOLUMN,(WPARAM)(int)(i),0))
|
|
#define TreeList_InsertColumn(h,i,p) ((INT )::SendMessage(h,TVM_INSERTCOLUMN,(WPARAM)(int)(i),(LPARAM)(const TV_COLUMN*)(p)))
|
|
#define TreeList_GetColumnCount(h) ((INT )::SendMessage(h,TVM_GETCOLUMNCOUNT,0,0))
|
|
#define TreeList_HitTest(h,p) ((HTREEITEM )::SendMessage(h,TVM_HITTEST,0,(LPARAM)(LPTV_HITTESTINFO)(p)))
|
|
#define TreeList_GetItemOfRow(h,r) ((HTREEITEM )::SendMessage(h,TVM_GETITEMOFROW,0,r))
|
|
#define TreeList_GetRowOfItem(h,i) ((INT )::SendMessage(h,TVM_GETROWOFITEM,0,(LPARAM)(i)))
|
|
#define TreeList_GetRowCount(h) ((INT )::SendMessage(h,TVM_GETROWCOUNT ,0,0))
|
|
#define TreeList_GetExtendedStyle(h) ((DWORD )::SendMessage(h,TVM_GETEXTENDEDSTYLE,0,0))
|
|
#define TreeList_SetExtendedStyle(h,d) ((DWORD )::SendMessage(h,TVM_SETEXTENDEDSTYLE,0,d))
|
|
#define TreeList_SetExtendedStyleEx(h,d,m) ((DWORD )::SendMessage(h,TVM_SETEXTENDEDSTYLE,m,d))
|
|
#define TreeList_GetColor(h,i) ((COLORREF )::SendMessage(h,TVM_GETBKCOLOR,(WPARAM)(i),0))
|
|
#define TreeList_SetColor(h,i,c) ((COLORREF )::SendMessage(h,TVM_SETBKCOLOR,(WPARAM)(i),c))
|
|
#define TreeList_GetItemBkColor(h,i,s) ((COLORREF )::SendMessage(h,TVM_GETITEMBKCOLOR,(WPARAM)(i),s))
|
|
#define TreeList_SetItemBkColor(h,i,s,c) ((COLORREF )::SendMessage(h,TVM_SETITEMBKCOLOR,((UINT_PTR)(i))|((s)<<24),c))
|
|
#define TreeList_GetItemTextColor(h,i,s) ((COLORREF )::SendMessage(h,TVM_GETITEMTEXTCOLOR,(WPARAM)(i),s))
|
|
#define TreeList_SetItemTextColor(h,i,s,c) ((COLORREF )::SendMessage(h,TVM_SETITEMTEXTCOLOR,((UINT_PTR)(i))|((s)<<24),c))
|
|
#define TreeList_EnsureVisible(h,i) ((BOOL )::SendMessage(h,TVM_ENSUREVISIBLE,0,(LPARAM)(HTREEITEM)(i)))
|
|
#define TreeList_EnsureVisibleEx(h,i,s) ((BOOL )::SendMessage(h,TVM_ENSUREVISIBLE,s,(LPARAM)(HTREEITEM)(i)))
|
|
#define TreeList_SelectDropTargetEx(h,i,s) ((BOOL )::SendMessage(h,TVM_SELECTDROP,(WPARAM)(s),(LPARAM)(HTREEITEM)(i)))
|
|
#define TreeList_SelectSubItem(h,i,s) ((BOOL )::SendMessage(h,TVM_SELECTSUBITEM,(WPARAM)(s),(LPARAM)(HTREEITEM)(i)))
|
|
#define TreeList_Select(h,i,c) ((BOOL )::SendMessage(h,TVM_SELECTITEM,(WPARAM)(c),(LPARAM)(HTREEITEM)(i)))
|
|
#define TreeList_EditLabel(h,i,s) ((HWND )::SendMessage(h,TVM_EDITLABEL,s,(LPARAM)(HTREEITEM)(i)))
|
|
#define TreeList_EndEditLabelNow(h,c) ((BOOL )::SendMessage(h,TVM_ENDEDITLABELNOW,c,0))
|
|
#define TreeList_GetItem(h,p) ((BOOL )::SendMessage(h,TVM_GETITEM,0,(LPARAM)(TV_ITEM*)(p)))
|
|
#define TreeList_GetCount ((BOOL )::SendMessage(h,TVM_GETCOUNT,0,0))
|
|
#define TreeList_GetEditControl(h) ((HWND )::SendMessage(h,TVM_GETEDITCONTROL,s,0))
|
|
#define TreeList_GetImageList(h,i) ((HIMAGELIST)::SendMessage(h,TVM_GETIMAGELIST,i,0))
|
|
#define TreeList_GetUserData(h,i) ((LPVOID )::SendMessage(h,TVM_GETUSERDATA,0,(LPARAM)(HTREEITEM)(i)))
|
|
#define TreeList_GetUserDataSize(h) ((INT )::SendMessage(h,TVM_GETUSERDATASIZE,0,0))
|
|
#define TreeList_SetUserDataSize(h,s) ((INT )::SendMessage(h,TVM_SETUSERDATASIZE,0,s))
|
|
#define TreeList_GetIndent ((UINT )::SendMessage(h,TVM_GETINDENT,0,0))
|
|
#define TreeList_GetVisibleCount ((UINT )::SendMessage(h,TVM_GETVISIBLECOUNT,0,0))
|
|
#define TreeList_InsertItem(h,p) ((HTREEITEM )::SendMessage(h,TVM_INSERTITEM,0,(LPARAM)(LPTV_INSERTSTRUCT)(p)))
|
|
#define TreeList_CreateDragImage(h,i) ((HIMAGELIST)::SendMessage(h,TVM_CREATEDRAGIMAGE, 0, (LPARAM)(HTREEITEM)(i)))
|
|
#define TreeList_CreateDragImageEx(h,i,s) ((HIMAGELIST)::SendMessage(h,TVM_CREATEDRAGIMAGE, s, (LPARAM)(HTREEITEM)(i)))
|
|
#define TreeList_SetImageList(h,i,l) ((HIMAGELIST)::SendMessage(h,TVM_SETIMAGELIST,i,(LPARAM)(UINT)(HIMAGELIST)(l)))
|
|
#define TreeList_SetIndent(h,i) ((BOOL )::SendMessage(h,TVM_SETINDENT,(WPARAM)(i),0))
|
|
#define TreeList_SetItem(h,p) ((BOOL )::SendMessage(h,TVM_SETITEM,0,(LPARAM)(const TV_ITEM*)(p)))
|
|
#define TreeList_SortChildren(h,i,r) ((BOOL )::SendMessage(h,TVM_SORTCHILDREN ,(WPARAM)r,(LPARAM)(HTREEITEM)(i)))
|
|
#define TreeList_SortChildrenCB(h,p,r) ((BOOL )::SendMessage(h,TVM_SORTCHILDRENCB,(WPARAM)r,(LPARAM)(LPTV_SORTCB)(p)))
|
|
#define TreeList_SortChildrenEX(h,p,r) ((BOOL )::SendMessage(h,TVM_SORTCHILDRENEX,(WPARAM)r,(LPARAM)(LPTV_SORTEX)(p)))
|
|
#define TreeList_SetColumn(h,i,p) ((BOOL )::SendMessage(h,TVM_SETCOLUMN,i,(LPARAM)(const TV_COLUMN*)(p)))
|
|
#define TreeList_GetColumn(h,i,p) ((BOOL )::SendMessage(h,TVM_GETCOLUMN,i,(LPARAM)(TV_COLUMN*)(p)))
|
|
#define TreeList_SetColumnWidth(h,i,w) ((BOOL )::SendMessage(h,TVM_SETCOLUMNWIDTH,i,w))
|
|
#define TreeList_GetColumnWidth(h,i) ((INT )::SendMessage(h,TVM_GETCOLUMNWIDTH,i,0))
|
|
#define TreeList_SetColumnAutoEdit(h,i,f,p) ((BOOL )::SendMessage(h,TVM_COLUMNAUTOEDIT,(WPARAM)((f)&~TVAE_COL(-1))|TVAE_COL(i),(LPARAM)(p)))
|
|
#define TreeList_SetColumnAutoIcon(h,i,n) ((BOOL )::SendMessage(h,TVM_COLUMNAUTOICON,i,n))
|
|
#define TreeList_GetStyle(h) ((DWORD )::GetWindowLong(h,GWL_STYLE))
|
|
#define TreeList_SetStyle(h,d) ((DWORD )::SetWindowLong(h,GWL_STYLE,d))
|
|
#define TreeList_SetStyleEx(h,d,m) ((DWORD )::SetWindowLong(h,GWL_STYLE,((d)&(m))|(::GetWindowLong(h,GWL_STYLE)&~(m))))
|
|
#define TreeList_GetItemRect(h,i,s,p,c) (*(HTREEITEM*)p =(i),(BOOL)::SendMessage(h,TVM_GETITEMRECT,(WPARAM)((c)|((s)<<8)),(LPARAM)(RECT*)(p)))
|
|
|
|
#define TreeList_SelectItem(h,i) TreeList_Select(h,i,TVGN_CARET)
|
|
#define TreeList_SelectDropTarget(h,i) TreeList_Select(h,i,TVGN_DROPHILITE)
|
|
#define TreeList_SelectSetFirstVisible(h,i) TreeList_Select(h,i,TVGN_FIRSTVISIBLE)
|
|
|
|
#define TreeList_GetChild(h,i) TreeView_GetNextItem(h, i, TVGN_CHILD)
|
|
#define TreeList_GetParent(h, i) TreeView_GetNextItem(h, i, TVGN_PARENT)
|
|
#define TreeList_GetNextSibling(h,i) TreeView_GetNextItem(h, i, TVGN_NEXT)
|
|
#define TreeList_GetPrevSibling(h,i) TreeView_GetNextItem(h, i, TVGN_PREVIOUS)
|
|
#define TreeList_GetNextSelected(h,i) TreeView_GetNextItem(h, i, TVGN_NEXTSELECTED)
|
|
#define TreeList_GetNextSelectedChild(h,i) TreeView_GetNextItem(h, i, TVGN_NEXTSELCHILD)
|
|
#define TreeList_GetNextVisible(h,i) TreeView_GetNextItem(h, i, TVGN_NEXTVISIBLE)
|
|
#define TreeList_GetPrevVisible(h,i) TreeView_GetNextItem(h, i, TVGN_PREVIOUSVISIBLE)
|
|
#define TreeList_GetSelection(h) TreeView_GetNextItem(h, NULL, TVGN_CARET)
|
|
#define TreeList_GetDropHilight(h) TreeView_GetNextItem(h, NULL, TVGN_DROPHILITE)
|
|
#define TreeList_GetFirstVisible(h) TreeView_GetNextItem(h, NULL, TVGN_FIRSTVISIBLE)
|
|
#define TreeList_GetLastVisible(h) TreeView_GetNextItem(h, NULL, TVGN_LASTVISIBLE)
|
|
#define TreeList_GetRoot(h) TreeView_GetNextItem(h, NULL, TVGN_ROOT)
|
|
#define TreeList_GetFocus(h) TreeView_GetNextItem(h, NULL, TVGN_FOCUS)
|
|
#define TreeList_GetFocusColumn(h) ((INT_PTR)TreeView_GetNextItem(h, NULL, TVGN_FOCUSSUB))
|
|
#define TreeList_GetSelectionColumn(h) ((INT_PTR)TreeView_GetNextItem(h, NULL, TVGN_CARETSUB))
|
|
#define TreeList_GetDropHilightColumn(h) ((INT_PTR)TreeView_GetNextItem(h, NULL, TVGN_DROPHILITESUB))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int XLISTCTRLLIBDLLEXPORT TreeListRegister();
|
|
|
|
|
|
|
|
#endif
|