国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

LVITEM 列表視圖控件(List Control) 顯示圖標

2019-11-08 03:01:44
字體:
來源:轉載
供稿:網友

LVITEM

列表視圖控件(List Control) 列表視圖控件是一種非常常用的控件,在需要以報表形式顯示數據時,列表控件通常是最好的選擇,許多專用的數據報表控件,也是在它的基礎上派生而來。與樹視圖類似,列表控件可以由多個子項目組成,并且支持大圖標、小圖標、列表和報表4種方式顯示信息,如圖1所示。 圖1 列表視圖的4種顯示方式 列表視圖包含一個項目列表,而其中每個項目由圖標、項目名稱和多個子項組成,每一個子項所包含的項目的數目必須相同,屬性相同的每個子項顯示在同一個列中。列表視圖控件有兩個重要的數據結構LVCOLUMN和LVITEM。LVCOLUMN用于定義報表方式下的“列”的結構;LVITEM用于定義“項”的結構。這兩個結構的定義及說明如下:

typedef struct _LVCOLUMN {UINT mask; //說明此結構中哪些成員是有效的int fmt; //列的對齊方式int cx; //列的初始寬度LPTSTR pszText; //列的標題int cchTextMax; //pszText所指向的緩沖區的大小int iSubItem; //與列關聯的子項的索引值,從0開始int iImage; //與列關聯的圖像列表中指定圖像的索引值int iOrder; //第幾列,0代表最左一列} LVCOLUMN, FAR *LPLVCOLUMN;typedef struct _LVITEM {UINT mask; //說明LVITEM結構中哪些成員有效int iItem; //項目的索引值(可以視為行號)從0開始int iSubItem; //子項的索引值(可以視為列號)從0開始UINT state; //子項的狀態UINT stateMask; //狀態有效的屏蔽位LPTSTR pszText; //主項或子項的名稱int cchTextMax; //pszText所指向的緩沖區大小int iImage; //關聯圖像列表中指定圖像的索引值LPARAM lParam; //程序定義的32位參數int iIndent; //表示圖像位置縮進的單位} LVITEM, FAR *LPLVITEM;列表項常用的屬性如下:View指定程序運行后列表視圖控件最初顯示的方式,可以設置為Icon(大圖標)、SmallIcon(小圖標)、List(列表)或Report(報表);Single selection表示每次只能選中一個項;Auto arrange使得項目在Icon和Small Icon顯示方式下能夠自動排序;Edit Labels表示可以編輯項目的卷標;No column header表示取消控件所有列的標題。typedef struct _LVITEM { UINT mask; int iItem; int iSubItem; UINT state; UINT stateMask; LPTSTR pszText; int cchTextMax; int iImage; LPARAM lParam; #if (_WIN32_IE >= 0x0300) int iIndent; #endif } LVITEM, FAR *LPLVITEM;Specifies or receives the attributes of a list view item. This structure has been updated to support a new mask value (LVIF_INDENT) that enables item indenting. This structure supersedes theLV_ITEM structure.mask //標明列表框單元項有的特性 Set of flags that specify which members of this structure contain data to be set or which members are being requested. This can be one or more of the following flags: LVIF_TEXT The pszText member is valid or must be filled in. LVIF_IMAGE The iImage member is valid or must be filled in. LVIF_INDENT The iIndent member is valid or must be filled in. LVIF_NORECOMPUTE The control will not generate LVN_GETDISPINFO to retrieve text information if it receives a LVM_GETITEM message. Instead, the pszText member will contain LPSTR_TEXTCALLBACK. LVIF_PARAM The lParam member is valid or must be filled in. LVIF_STATE The state member is valid or must be filled in. LVIF_DI_SETITEM The Operating system should store the requested list item information and not ask for it again. This flag is used only with the LVN_GETDISPINFO notification message.iItem Zero-based index of the item to which this structure refers.iSubItem One-based index of the subitem to which this structure refers, or zero if this structure refers to an item rather than a subitem.state //標明列表框單元項將要設置的(狀態)動作,其有效和無效受stateMask過濾器控制 Indicates the item's state, state image, and overlay image. The stateMask member indicates the valid bits of this member. Bits 0 through 7 of this member contain the item state flags. This can be one or more of the item state values. Bits 8 through 11 of this member specify the one-based overlay image index. Both the full-sized icon image list and the small icon image list can have overlay images. The overlay image is superimposed over the item's icon image. If these bits are zero, the item has no overlay image. To isolate these bits, use the LVIS_OVERLAYMASK mask. To set the overlay image index in this member, you should use the INDEXTOOVERLAYMASK macro. The image list's overlay images are set with theImageList_SetOverlayImage function. Bits 12 through 15 of this member specify the state image index. The state image is displayed next to an item's icon to indicate an application-defined state. If these bits are zero, the item has no state image. To isolate these bits, use the LVIS_STATEIMAGEMASK mask. To set the state image index, you should use the INDEXTOSTATEIMAGEMASK macro. The state image index specifies the index of the image in the state image list that should be drawn. The state image list is specified with the LVM_SETIMAGELIST message.stateMask Value specifying which bits of the state member will be retrieved or modified. For example, setting this member to LVIS_SELECTED will cause only the item's selection state to be retrieved. This member allows you to modify one or more item states without having to retrieve all of the item states first. For example, setting this member to LVIS_SELECTED and state to zero will cause the item's selection state to be cleared, but none of the other states will be affected. To retrieve or modify all of the states, set this member to (UINT)-1. You can use the macro ListView_SetItemState both to set and to clear bits.pszText Address of a null-terminated string containing the item text if the structure specifies item attributes. If this member is the LPSTR_TEXTCALLBACK value, the item is a callback item. Do not set the pszText member to LPSTR_TEXTCALLBACK if the list view control has LVS_SORTASCENDING orLVS_SORTDESCENDING style. If the structure is receiving item attributes, this member is the address of the buffer that receives the item text.cchTextMax Size of the buffer pointed to by the pszText member if the structure is receiving item attributes. This member is ignored if the structure specifies item attributes.iImage Index of the item's icon in the control's image list. This applies to both the large and small image list. If this member is the I_IMAGECALLBACK value, the parent window is responsible for storing the index. In this case, the list view control sends the parent an LVN_GETDISPINFO notification message to get the index when it needs to display the image.lParam 32-bit value specific to the item. If you use the LVM_SORTITEMS message, the list view control passes this value to the application-defined comparison function. You can also use theLVM_FINDITEM message to search a list view control for an item with a specified lParam value.iIndent Version 4.70. Number of image widths to indent the item. A single indentation equals the width of an item image. Therefore, the value 1 indents the item by the width of one image, the value 2 indents by two images, and so on. Note that this field is supported only for items. Attempting to set subitem indentation will cause the calling function to fail.The LVITEM structure is used with a number of messages, including LVM_GETITEM, LVM_SETITEM,LVM_INSERTITEM, and LVM_DELETEITEM.CTreeCtrl::SetItemBOOL SetItem( TVITEM* pItem );BOOL SetItem( HTREEITEM hItem, UINT nMask, LPCTSTR lpszItem, int nImage, int nSelectedImage, UINT nState, UINT nStateMask, LPARAM lParam );返回值:如果成功則返回非零值;否則返回0。參數:pItem 一個指向包含新項屬性的TVITEM結構的指針,就像在“Platform SDK”中描述的一樣。hItem 要設置其屬性的項的句柄。nMask 指定要設置哪些屬性的整數。lpszItem 一個包含了項的文本的字符串的地址。nImage 項的圖像在tree view控件的圖像列表中的索引。nSelectedImage 該項的被選擇圖像在tree view控件的圖像列表中的索引。nState 指定項的狀態值。nStateMask 指定要設置哪些狀態。lParam 一個與該項關聯的32位的應用程序定義值。說明:此成員函數用來設置指定tree view項的屬性。在TVITEM結構中,hItem成員標識了這個項,mask成員指定了要設置的屬性。如果mask成員或nMask參數指定的是TVIF_TEXT值,則pszText成員或lpszItem就是一個以空字符結尾的字符串的地址,而cchTextMax成員被忽略。如果mask(或nMask)指定的是TVIF_STATE值,則stateMask成員或nStateMask參數指定要改變的是哪一個項狀態,而state成員或nState參數包含了那些狀態的值。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 吉林省| 文山县| 保亭| 广河县| 平潭县| 哈密市| 建湖县| 江油市| 丹棱县| 临邑县| 姜堰市| 鄢陵县| 夏津县| 华池县| 台东县| 高阳县| 辽阳市| 厦门市| 阿坝县| 汕头市| 蚌埠市| 天津市| 遂溪县| 杨浦区| 镇沅| 专栏| 清远市| 远安县| 安平县| 望都县| 德令哈市| 自治县| 敦煌市| 石狮市| 西华县| 海阳市| 惠东县| 盐池县| 行唐县| 扎赉特旗| 天津市|