Main Page | Modules | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals | Related Pages

listview.h

Go to the documentation of this file.
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 

Generated on Mon Jun 26 13:54:27 2006 for MiniGUI V1.6.9 API Reference by  doxygen 1.4.2