⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 listview.h

📁 minigui_1.6.9在WINDOWS32下的原代码,是嵌入式GUI产品,是北京飞漫公司的正式版本.
💻 H
📖 第 1 页 / 共 3 页
字号:
/** * \file listview.h * \author Wei Yongming <ymwei@minigui.org> * \date 2002/01/06 *  * The header file of MiniGUI extension library. * \verbatim    Copyright (C) 2002-2006 Feynman Software    Copyright (C) 1998-2002 Wei Yongming    All rights reserved by Feynman Software.    This file is part of MiniGUI, a compact cross-platform Graphics     User Interface (GUI) support system for real-time embedded systems. \endverbatim *//* * $Id: listview.h,v 1.15 2006/06/11 04:20:45 weiym Exp $ * *             MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks,  *                     pSOS, ThreadX, NuCleus, OSE, and Win32. * *             Copyright (C) 2002-2006 Feynman Software. *             Copyright (C) 1998-2002 Wei Yongming. */#ifndef EXT_LISTVIEW_H#define EXT_LISTVIEW_H#ifdef  __cplusplusextern "C" {#endif    /**     * \addtogroup mgext_fns     * @{     */    /**     * \addtogroup mgext_controls     * @{     */    /**     * \defgroup mgext_ctrl_listview ListView control     * @{     *//**  * \def CTRL_LISTVIEW * \brief The class name of listview control. */#define CTRL_LISTVIEW       ("ListView")/** Listview return value */#define LV_OKAY                 0/** Listview return value */#define LV_ERR                  (-1)/** Listview return value */#define LV_ERRSPACE             (-2)/** * \var typedef GHANDLE HLVITEM * \brief List view item handle */ typedef GHANDLE HLVITEM;/** list view item flags */#define LVIF_FOLD               0x0001L/**  * Structure of the listview item info, contains information about an item. * This structure is used for creating or retrieving an item.  */typedef struct _LVITEM{    /**     * The rows of the item     */    int nItem;    /** Height of the item */    int nItemHeight;    /** Attached additional data of this item */    DWORD itemData;    /**     * State flags of the item, can be OR'ed by the following values:     *     * - LVIF_FOLD\n     *   The item is folded.     *     * When adding an item to the listview control, only LVIF_FOLD     * flag is valid.     */    DWORD dwFlags;} LVITEM;/** Data type of the pointer to a LVITEM */typedef LVITEM *PLVITEM;/** Listview bitmap flags */#define LVFLAG_BITMAP	0x0001/** Listview icon flags */#define LVFLAG_ICON	    0x0002/**  * Struct of the listview subitem info, contains information about a subitem. * This structure is used for creating or retrieving a subitem. */ typedef struct _LVSUBITEM{    /** Flags of the subitem, can be OR'ed by the following values:     *     * - LVFLAG_BITMAP     *   The sub item has a bitmap icon.     * - LVFLAG_ICON     *   The sub item has an icon.     */    DWORD flags;    /** The Subitem vertical position(rows) */    int nItem;    /** The Subitem horizontal position(columns) */    int subItem;    /** Text content of this subitem */    char *pszText;    /** Max text len */    int nTextMax;    /** Text color of the subitem */    int nTextColor;    /** Image of the subitem, can be bitmap or icon, determined by flags */    DWORD image; } LVSUBITEM;/** Data type of the pointer to a LVSUBITEM */typedef LVSUBITEM *PLVSUBITEM;/** Contains information for sorting listview */typedef struct _LVSORTDATA{    /** Sorting column index */    int ncol;    /** Low sorted or high sorted */    int losorted;    /** Listview handle */    HWND hLV;} LVSORTDATA;/** Data type of pointer to a LVSORTDATA */typedef LVSORTDATA *PLVSORTDATA;/** Type of listview comparision fuction */typedef int (*PFNLVCOMPARE) (HLVITEM nItem1, HLVITEM nItem2, PLVSORTDATA sortData);typedef GHANDLE HLVHDR;typedef GHANDLE HLVHDRITEM;/** Type of listview header background drawing function *//* hlvhdr is reserved for extension */typedef void (*PFN_LVHDR_BKDRAWFUNC)   (HWND hWnd, HLVHDR hlvhdr, HDC hdc, RECT *rcDraw);/** Type of listview header item drawing function */typedef void (*PFN_LVHDR_ITEMDRAWFUNC) (HWND hWnd, int idx, HDC hdc, RECT *rcDraw);/** Contains function pointers for customized drawing */typedef struct _LVCUSTOMDRAWFUNCS{    /** Colunm header background drawing function */    PFN_LVHDR_BKDRAWFUNC   pfnDrawHdrBk;    /** Colunm header item drawing function */    PFN_LVHDR_ITEMDRAWFUNC pfnDrawHdrItem;} LVCUSTOMDRAWFUNCS;/** Column flags *//** Column text left align, default */#define LVCF_LEFTALIGN	        0x0000/** Column text right align */#define LVCF_RIGHTALIGN	        0x0001/** Column text center align */#define LVCF_CENTERALIGN        0x0002/** Column treeview style */#define LVCF_TREEVIEW           0x0004/** Header flags *//** Header text left align, default */#define LVHF_LEFTALIGN		0x0000/** Header text right align */#define LVHF_RIGHTALIGN		0x0004/** Header text center align */#define LVHF_CENTERALIGN	0x0008/**  * Struct of the listview column info, contains information about a column. * This structure is used for creating or retrieving a column. */typedef struct _LVCOLUMN{    /** The horizontal position */    int nCols;    /** Column's width */    int width;    /** The title of this column */    char *pszHeadText;    /** Max text len */    int nTextMax;    /** Image of the column header, can be bitmap or icon */    DWORD image;     /** Comparision function associated with the column */    PFNLVCOMPARE pfnCompare;    /** Column and header flags */    DWORD colFlags;} LVCOLUMN;/** Data type of pointer to a LVCOLUMN */typedef LVCOLUMN *PLVCOLUMN;/** Listview search flags *//** Search by text */#define LVFF_TEXT       0x0001/** Search by addtional data */#define LVFF_ADDDATA    0x0002/** Contains information for finding a certain item info */typedef struct _LVFINDINFO{    /**      * Type of search to perform.      * This member can be set to one or more of the following values:     * - LVFF_TEXT     *   Searches based on the item(subitems) text.     * - LVFF_ADDDATA     *   Searches based on the attached additional item data.     */    DWORD flags;    /** Search index to begin with, 0 from the beginning */    int iStart;    /** PszInfo containing nCols columns' text */    int nCols;    /** All the subitem's content of this item */    char **pszInfo;    /** The additional item data */    DWORD addData;    /** The found item's row, reserved */    int nItem;    /** The found subitem's column, reserved */    int nSubitem;} LVFINDINFO;/** Data type of pointer to a LVFINDINFO */typedef LVFINDINFO *PLVFINDINFO;/** Contains listview general notification information */typedef struct _LVNM_NORMAL{    /** wParam parameter of the message */    WPARAM wParam;    /** lParam parameter of the message */    LPARAM lParam;} LVNM_NORMAL;/** Data type of pointer to a LVNM_NORMAL */typedef LVNM_NORMAL *PLVNM_NORMAL;/** Keydown notification information */typedef LVNM_NORMAL LVNM_KEYDOWN;/** Data type of pointer to a LVNM_KEYDOWN */typedef LVNM_KEYDOWN *PLVNM_KEYDOWN;/** Contains listview notification information when mouse down on the header  */typedef LVNM_NORMAL LVNM_HEADRDOWN;/** Data type of pointer to a LVNM_HEADRDOWN */typedef LVNM_HEADRDOWN *PLVNM_HEADRDOWN;/** Contains listview notification information when mouse up on the header  */typedef LVNM_NORMAL LVNM_HEADRUP;/** Data type of pointer to a LVNM_HEADRUP */typedef LVNM_HEADRUP *PLVNM_HEADUP;/** Contains listview notification information when mouse down on the item area */typedef LVNM_NORMAL LVNM_ITEMRDOWN;/** Data type of pointer to a LVNM_ITEMRDOWN */typedef LVNM_ITEMRDOWN *PLVNM_ITEMRDOWN;/** Contains listview notification information when mouse up on the item area */typedef LVNM_NORMAL LVNM_ITEMRUP;/** Data type of pointer to a LVNM_ITEMRUP */typedef LVNM_ITEMRUP *PLVNM_ITEMRUP;    /**     * \defgroup mgext_ctrl_listview_styles Styles of listview control     * @{     *//** * \def LVS_UPNOTIFY * \brief Notifies the parent window when mouse is up (default is down). * * Causes the listview to notify the listview parent window  * with a notification message when the user make actions, such as clicks, doubleclicks, ...,etc. */#define LVS_UPNOTIFY            0x0001L             /* must be the same with SVS_UPNOTIFY */#define LVS_NOTIFY              LVS_UPNOTIFY/** * \def LVS_SORT * \brief Sorts strings automatically. * * Causes the listview to sort strings automatically.  */#define LVS_SORT                0x0002L/** * \def LVS_MULTIPLESEL * \brief Causes the listview to allow the user to select multiple items. */#define LVS_MULTIPLESEL         0x0008L              /* reserved *//** * \def LVS_CHECKBOX * \brief Displays a check box in an item. */#define LVS_CHECKBOX            0x1000L              /* reserved *//** * \def LVS_AUTOCHECK * \brief If the list view has LVS_CHECKBOX style, this *        style tell the list view to auto-switch the check box between  *        checked or un-checked when the user click the check mark box of an item. */#define LVS_AUTOCHECK           0x2000L              /* reserved *//** * \def LVS_AUTOCHECKBOX * \brief If the list view has LVS_AUTOCHECKBOX style, this style tell the list view *        use LVS_CHECKBOX and LVS_AUTOCHECK style. * */#define LVS_AUTOCHECKBOX        (LVS_CHECKBOX | LVS_AUTOCHECK)    /* reserved *//** * \def LVS_TREEVIEW * \brief Uses listview in a treeview style. */#define LVS_TREEVIEW            0x4000L    /** @} end of mgext_ctrl_listview_styles */    /**     * \defgroup mgext_ctrl_listview_msgs Messages of ListView control     * @{     *//** *  \def LVM_ADDITEM *  \brief Adds a item to listview, this item is also called a row.  *   *  \code  *  LVM_ADDITEM *  PLVITEM p *  HLVITEM parent; * *  wParam = (WPARAM)parent; *  p =(LPARAM)lParam; *  \endcode * *  \param p Pointes to a LVITEM structure that contains the information of  *           the new item to be added. nItem member of the LVITEM struct speficied  *           the item position in its parent item, beginning with zero. *  \param parent Handle of the parent item into which the new item is about to insert. *           If parent equals zero, the parent item will be the root of listview. * *  \return Returns the handle of the new item if successful, or 0 otherwise. */#define LVM_ADDITEM            0xF110/** * \def LVM_FILLSUBITEM * \brief Sets the content of a subitem, indentified by rows and columns. *  * \code * LVM_FILLSUBITEM * PLVSUBITEM p; * HLVITEM pi; * * lParam = (LPARAM)p; * wParam = (WPARAM)pi; * \endcode * * \param p  Pointes to a PLVSUBITEM structure that contains the information of  *           the subitem to set. If pi is not zero, nItem member of this struct *           has no meaning. * \param pi Handle of the target item. *           If pi equals zero, the row position of the target item is  *           specified by nItem member of p structure. * * \return Returns LV_OKAY if successful, or LV_ERR otherwise. */#define LVM_FILLSUBITEM        0xF111/** * \def LVM_ADDCOLUMN * \brief Adds a new column to listview, indentified by column. *  * \code *  LVM_ADDCOLUMN *  PLVCOLUMN p; * *  wParam = 0; *  lParam =(LPARAM)p; * \endcode * * \param p Pointes to a LVCOLUMN structure that contains the information about the new  *          column to be added. */#define LVM_ADDCOLUMN          0xF112/** * \def LVM_DELITEM * \brief Deletes an item form listview.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -