複製鏈接
請複製以下鏈接發送給好友

CListBox

鎖定
CListBox類提供Windows列表框的功能。列表框顯示項的列表,如用户可以見到和選擇的文件名稱。在單選列表框裏,用户只可選擇一個項。在多選列表框裏,可選擇許多項。當用户選擇某項時,其高亮顯示且列表框給父窗口發送一個通知消息。
外文名
CListBox
功    能
提供Windows列表框
分    類
電腦
相    關
CWnd

CListBox詞條簡介

CObject←CCmdTarget←CWnd←CListBox
可從對話模板或直接在你的代碼中創建列表框。直接創建時,構造CListBox對象,再調用Create成員函數創建Windows列表框控件並將其附加給CListBox對象。要在對話模板中使用列表框,可在對話框類中聲明一個CListbox 變量,再在對話框類的DoDataExchange中使用DDX_Control連接成員變量到此控件(當向對話框類中添加控件變量時,ClassWizard自動為你實現)。
構造函數可以是從CListBox派生的類的一個單步進程。為派生類寫構造函數並從中調用Create。如果要處理由列表框發送到其父親(通常為從CDialog派生的類)的Windows通知消息,為每個消息添加消息映射入口和消息處理成員函數到父類。
每個消息映射入口有以下形式:
ON_Notification( id,memberFxn )
id 指定發送通知的列表框控件的子窗口,memberFxn 是編寫處理通知的父成員函數名的地方。
父函數原型如下:
afx_msg void memberFxn( );
下面是可能的消息映射入口列表和描述它們可能被髮送到父親的情況:
ON_LBN_DBLCLK 用户雙擊列表框中的字符串。只有LBS_NOTIFY風格的列表框才會發送此通知消息。
ON_LBN_ERRSPACE 列表框不能重新分配足夠的內存來滿足請求。
ON_LBN_KILLFOCUS 列表框正失去輸入焦點。
ON_LBN_SELCANCEL 當前列表框選擇被取消。此消息只有在列表框是LBS_NOTIFY風格時才發送。
ON_LBN_SELCHANGE 列表框中的選擇可能改變。如果選擇被CListBox::SetCurSel成員函數改變,則通知不發送。此通知只適用於LBS_NOTIFY風格的列表框。無論何時用户按下箭頭鍵,即使選擇未改變,LBN_SELCHANGE通知消息都被髮送給多選列表框。
ON_LBN_SETFOCUS 列表框正在接收輸入焦點
ON_WM_CHARTOITEM 一個無字符串的自繪製列表接受WM_CHAR消息。
ON_WM_VKEYTOITEM LBS_WANTKEYBOARDINPUT風格的列表框接受WM_KEYDOWN消息。
如果在對話框中構造一個CListBox對象(通過對話資源),當用户關閉對話框時,CListBox對象自動譭棄。
如果在窗口中構造一個CListBox對象,可能需要譭棄CListBox對象。如果在棧上創建CListBox對象,它會自動譭棄。如果使用new函數在堆上創建CListBox對象,必須對此對象調用delete來在用户關閉父窗口時譭棄它。
如果在CListBox對象中分配內存,可覆蓋CListBox析構程序釋放分配的內存。
#include <afxwin.h>
請參閲:CWnd, CButton, CComboBox, CEdit, CScrollBar, CStatic

CListBox類成員

CListBox類的成員
構造函數 CListBox 構造一個CListBox對象
初始化 Create 創建Windows列表框並附加給CListBox對象
InitStorage 為列表框的項和字符串預分配內存塊
一般操作 GetCount 返回列表框中的字符串數目
GetHorizontalExtent 返回列表框的水平寬度,用像素表示
SetHorizontalExtent 設置列表框的水平寬度,用像素表示
GetTopIndex 返回列表框中第一個可見字符串的索引
SetTopIndex 設置列表框中第一個可見字符串的基於零的索引
GetItemData 返回與列表框有關的32位值
GetItemDataPtr 返回指向列表框的指針
SetItemData 設置列表框有關的32位值
SetItemDataPtr 設置指向列表框的指針
GetItemRect 返回當前顯示的列表框項的相應矩形
ItemFromPoint 返回與某點最近的列表框項的索引
SetItemHeight 設置列表框中項的高度
GetItemHeight 確定列表框中項的高度
GetSel 返回列表框某項的選擇
GetText 拷貝某列表框項到緩衝區
GetTextLen 返回列表框的字節長
SetColumnWidth 設置多列列表框的列寬
SetTabStops 設置列表框製表鍵停止位置
GetLocale 獲取列表框的地點標識符
SetLocale 設置列表框的地點標識符
單選操作 GetCurSel 返回列表框中當前選擇串的基於零的索引
SetCurSel 選擇一個列表框字符串
多選操作 SetSel 在多選列表框中選擇或不選某個列表框項
GetCaretIndex 確定在多選列表框中有焦點矩形的項的索引
SetCaretIndex 設置焦點矩形到多選列表框中的指定的索引項
GetSelCount 返回多選列表框中當前選擇的字符串的數目
GetSelItems 返回列表框中當前選擇的字符串的索引
SelItemRange 選擇/不選多選列表框中的一些字符串
SetAnchorIndex 設置多選列表框的錨點以開始擴展選擇
GetAnchorIndex 獲取列表框當前錨點項的基於零的索引
字符串操作 AddString 添加一個字符串到列表框中
DeleteString 從列表框中刪除一個字符串
InsertString 在列表框中指定位置插入一個字符串
ResetContent 清空列表框所有入口
Dir 從當前目錄添加文件名稱到列表框中
FindString 在列表框中查找一個字符串
FindStringExact 查找與指定的字符串匹配的第一個列表框字符串
SelectString 查找並選擇單選列表框中的一個字符串
可覆蓋的函數 DrawItem 當自繪製列表框的一個可視部分改變時,被框架調用
MeasureItem 當自繪製列表框創建時,被框架調用來確定列表框維數
CompareItem 被框架調用以確定一系列列表框中某新項的位置
DeleteItem 當用户從自繪製列表框中刪除某項時,被框架調用
VKeyToItem 覆蓋以提供LBS_WANTKEYBOARDINPUT風格列表框的設置所需的定製WM_KEYDOWN
CharToItem 覆蓋以提供不含字符串的自繪製列表框定製WM_CHAR

CListBox構造函數

CListBox::CListBox
CListBox( );
説明:
分兩步構造一個CListBox對象。首先調用構造函數CListBox,再調用Create,初始化Windows列表框並將其附加給CListBox。
請參閲:CListBox::Create