00001 00020 /* 00021 * $Id: listview.h,v 1.6.2.6 2006/06/05 08:59:40 xwyan Exp $ 00022 * 00023 * MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks, 00024 * pSOS, ThreadX, NuCleus, OSE, and Win32 version 1.6.x 00025 * Copyright (C) 2002-2006 Feynman Software. 00026 * Copyright (C) 1998-2002 Wei Yongming. 00027 */ 00028 00029 #ifndef EXT_LISTVIEW_H 00030 #define EXT_LISTVIEW_H 00031 00032 #ifdef __cplusplus 00033 extern "C" { 00034 #endif 00035 00055 #define CTRL_LISTVIEW ("ListView") 00056 00058 #define LV_OKAY 0 00059 00060 #define LV_ERR (-1) 00061 00062 #define LV_ERRSPACE (-2) 00063 00068 typedef GHANDLE HLVITEM; 00069 00071 #define LVIF_FOLD 0x0001L 00072 00077 typedef struct _LVITEM 00078 { 00082 int nItem; 00084 int nItemHeight; 00086 DWORD itemData; 00087 00097 DWORD dwFlags; 00098 00099 } LVITEM; 00100 00102 typedef LVITEM *PLVITEM; 00103 00105 #define LVFLAG_BITMAP 0x0001 00106 00107 #define LVFLAG_ICON 0x0002 00108 00113 typedef struct _LVSUBITEM 00114 { 00122 DWORD flags; 00124 int nItem; 00126 int subItem; 00128 char *pszText; 00130 int nTextMax; 00132 int nTextColor; 00134 DWORD image; 00135 } LVSUBITEM; 00137 typedef LVSUBITEM *PLVSUBITEM; 00138 00140 typedef struct _LVSORTDATA 00141 { 00143 int ncol; 00145 int losorted; 00147 HWND hLV; 00148 } LVSORTDATA; 00150 typedef LVSORTDATA *PLVSORTDATA; 00151 00153 typedef int (*PFNLVCOMPARE) (HLVITEM nItem1, HLVITEM nItem2, PLVSORTDATA sortData); 00154 00155 typedef GHANDLE HLVHDR; 00156 typedef GHANDLE HLVHDRITEM; 00157 00159 /* hlvhdr is reserved for extension */ 00160 typedef void (*PFN_LVHDR_BKDRAWFUNC) (HWND hWnd, HLVHDR hlvhdr, HDC hdc, RECT *rcDraw); 00162 typedef void (*PFN_LVHDR_ITEMDRAWFUNC) (HWND hWnd, int idx, HDC hdc, RECT *rcDraw); 00163 00164 00166 typedef struct _LVCUSTOMDRAWFUNCS 00167 { 00169 PFN_LVHDR_BKDRAWFUNC pfnDrawHdrBk; 00171 PFN_LVHDR_ITEMDRAWFUNC pfnDrawHdrItem; 00172 } LVCUSTOMDRAWFUNCS; 00173 00174 00177 #define LVCF_LEFTALIGN 0x0000 00178 00179 #define LVCF_RIGHTALIGN 0x0001 00180 00181 #define LVCF_CENTERALIGN 0x0002 00182 00183 #define LVCF_TREEVIEW 0x0004 00184 00187 #define LVHF_LEFTALIGN 0x0000 00188 00189 #define LVHF_RIGHTALIGN 0x0004 00190 00191 #define LVHF_CENTERALIGN 0x0008 00192 00197 typedef struct _LVCOLUMN 00198 { 00200 int nCols; 00202 int width; 00204 char *pszHeadText; 00206 int nTextMax; 00208 DWORD image; 00210 PFNLVCOMPARE pfnCompare; 00212 DWORD colFlags; 00213 } LVCOLUMN; 00215 typedef LVCOLUMN *PLVCOLUMN; 00216 00219 #define LVFF_TEXT 0x0001 00220 00221 #define LVFF_ADDDATA 0x0002 00222 00224 typedef struct _LVFINDINFO 00225 { 00234 DWORD flags; 00236 int iStart; 00238 int nCols; 00240 char **pszInfo; 00242 DWORD addData; 00243 00245 int nItem; 00247 int nSubitem; 00248 00249 } LVFINDINFO; 00251 typedef LVFINDINFO *PLVFINDINFO; 00252 00254 typedef struct _LVNM_NORMAL 00255 { 00257 WPARAM wParam; 00259 LPARAM lParam; 00260 } LVNM_NORMAL; 00262 typedef LVNM_NORMAL *PLVNM_NORMAL; 00263 00265 typedef LVNM_NORMAL LVNM_KEYDOWN; 00267 typedef LVNM_KEYDOWN *PLVNM_KEYDOWN; 00268 00270 typedef LVNM_NORMAL LVNM_HEADRDOWN; 00272 typedef LVNM_HEADRDOWN *PLVNM_HEADRDOWN; 00273 00275 typedef LVNM_NORMAL LVNM_HEADRUP; 00277 typedef LVNM_HEADRUP *PLVNM_HEADUP; 00278 00280 typedef LVNM_NORMAL LVNM_ITEMRDOWN; 00282 typedef LVNM_ITEMRDOWN *PLVNM_ITEMRDOWN; 00283 00285 typedef LVNM_NORMAL LVNM_ITEMRUP; 00287 typedef LVNM_ITEMRUP *PLVNM_ITEMRUP; 00288 00301 #define LVS_UPNOTIFY 0x0001L /* must be the same with SVS_UPNOTIFY */ 00302 #define LVS_NOTIFY LVS_UPNOTIFY 00303 00310 #define LVS_SORT 0x0002L 00311 00316 #define LVS_MULTIPLESEL 0x0008L /* reserved */ 00317 00322 #define LVS_CHECKBOX 0x1000L /* reserved */ 00323 00330 #define LVS_AUTOCHECK 0x2000L /* reserved */ 00331 00336 #define LVS_AUTOCHECKBOX (LVS_CHECKBOX | LVS_AUTOCHECK) /* reserved */ 00337 00342 #define LVS_TREEVIEW 0x4000L 00343 00372 #define LVM_ADDITEM 0xF110 00373 00396 #define LVM_FILLSUBITEM 0xF111 00397 00413 #define LVM_ADDCOLUMN 0xF112 00414 00433 #define LVM_DELITEM 0xF113 00434 00457 #define LVM_CLEARSUBITEM 0xF114 00458 00474 #define LVM_DELCOLUMN 0xF115 00475 00491 #define LVM_COLSORT 0xF116 00492 00515 #define LVM_SETSUBITEMCOLOR 0xF117 00516 00534 #define LVM_FINDITEM 0xF118 00535 00560 #define LVM_GETSUBITEMTEXT 0xF119 00561 00575 #define LVM_GETITEMCOUNT 0xF11A 00576 00590 #define LVM_GETCOLUMNCOUNT 0xF11B 00591 00605 #define LVM_GETSELECTEDITEM 0xF11C 00606 00620 #define LVM_DELALLITEM 0xF11D 00621 00637 #define LVM_MODIFYHEAD 0xF11E 00638 00657 #define LVM_SELECTITEM 0xF11F 00658 00659 00678 #define LVM_SHOWITEM 0xF120 00679 00702 #define LVM_GETSUBITEMLEN 0xF121 00703 00720 #define LVM_SETCOLUMN 0xF122 00721 00744 #define LVM_SETSUBITEMTEXT 0xF123 00745 00768 #define LVM_SETSUBITEM 0xF124 00769 00789 #define LVM_GETCOLUMN 0xF125 00790 00807 #define LVM_GETCOLUMNWIDTH 0xF126 00808 00829 #define LVM_GETITEM 0xF127 00830 00850 #define LVM_GETITEMSTATE 0xF128 00851 00865 #define LVM_GETSELECTEDCOLUMN 0xF129 00866 00880 #define LVM_GETSELECTEDCOUNT 0xF130 00881 00895 #define LVM_GETTOPVISIBLE 0xF131 00896 00897 #define LVM_NULL 0xF132 00898 00899 #define LVM_SETITEMSTATE 0xF133 00900 00935 #define LVM_SORTITEMS 0xF134 00936 00955 #define LVM_SETITEMHEIGHT 0xF135 00956 00972 #define LVM_SETHEADHEIGHT 0xF136 00973 00999 #define LVM_GETITEMADDDATA 0xF137 01000 01025 #define LVM_SETITEMADDDATA 0xF138 01026 01045 #define LVM_CHOOSEITEM 0xF139 01046 01076 #define LVM_SETSTRCMPFUNC 0xF140 01077 01078 #define LVIR_PARENT 1 01079 #define LVIR_FIRSTCHILD 2 01080 #define LVIR_NEXTSIBLING 3 01081 #define LVIR_PREVSIBLING 4 01082 01111 #define LVM_GETRELATEDITEM 0xF141 01112 01131 #define LVM_FOLDITEM 0xF142 01132 01149 #define LVM_SETCUSTOMDRAW 0xF143 01150 01151 01162 #define LVN_CLICKED 1 /* must be the same as SVN_CLICKED */ 01163 01168 #define LVN_SELCHANGE 2 /* must be the same as SVN_SELCHANGED */ 01169 01175 #define LVN_ITEMRDOWN 4 01176 01182 #define LVN_ITEMRUP 5 01183 01189 #define LVN_HEADRDOWN 6 01190 01196 #define LVN_HEADRUP 7 01197 01202 #define LVN_KEYDOWN 8 01203 01210 #define LVN_ITEMDBCLK 9 01211 01217 #define LVN_ITEMCLK 10 01218 01224 #define LVN_COLCHANGE 11 01225 01231 #define LVN_FOLDED 12 01232 01238 #define LVN_UNFOLDED 13 01239 01248 #ifdef __cplusplus 01249 } 01250 #endif 01251 01252 #endif /* EXT_LISTVIEW_H */ 01253
1.4.2