MFC中listbox控件中各種屬性的詳解


     ListBox控件是Windows 窗體的一個空間,ListBox 控件顯示一個項列表,用戶可從中選擇一項或多項。

     如果項總數超出可以顯示的項數,則自動向 ListBox 控件添加滾動條。當 MultiColumn 屬性設置為 true 時,列表框以多列形式顯示項,並且會出現一個水平滾動條。當 MultiColumn 屬性設置為 false 時,列表框以單列形式顯示項,並且會出現一個垂直滾動條。當 ScrollAlwaysVisible 設置為 true 時,無論項數多少都將顯示滾動條。SelectionMode 屬性確定一次可以選擇多少列表項。

      SelectedIndex 屬性返回對應於列表框中第一個選定項的整數值。通過在代碼中更改 SelectedIndex 值,可以編程方式更改選定項;列表中的相應項將在 Windows 窗體上突顯出來。如果未選定任何項,則 SelectedIndex 值為 -1。如果選定了列表中的第一項,則 SelectedIndex 值為 0。當選定多項時,SelectedIndex 值反映列表中最先出現的選定項。SelectedItem 屬性類似於 SelectedIndex,但它返回項本身,通常是字符串值。Items.Count 屬性反映列表中的項數,並且 Items.Count 屬性的值總比 SelectedIndex 的最大可能值大 1,因為 SelectedIndex 是從零開始的。
      若要在 ListBox 控件中添加或刪除項,請使用 Items.Add、Items.Insert、Items.Clear 或 Items.Remove 方法。或者,可以在設計時使用 Items 屬性向列表添加項。
      其中,selection中的四種選擇模式(single、multiple、extended、None)的說明:
      single:允許每次選擇一個item;
      multiple: 允許每次選擇多個item;
      extended:允許按下Shift或者Ctrl來選擇多行;
      None:選中item,但是不高亮之,只顯示該item上交點(item外有矩形框)。
 
/////////////////////////////////////////////////////////////////////////////////////

對Listbox進行操作:

Int listbox.AddString (  LPCTSTR     Str)   :對listbox的首行添加一個str的文本行,即此時nIndex為0;

Int listbox.DeleteString (uint nIndex)     :刪除listbox中第nIndex行的文本行,注意nIndex是從0起始的;

int listbox.InsertString (uint xIndex, LPCTSTR  Str):在listbox中第nIndex行插入一個str的文本行;

Int listbox.GetCount (  ):獲取listbox的行的總數目;

Int listbox.GetCurSel  ( ):得到listbox選中的文本行的行數。

Void listbox.ResetContent (  ):清除listbox中的所有數據;

Int listbox.GetCurCount ( ):獲取listbox被選中的行的數目;

Int listbox.FindString  ( int nstart , LPCTSTR  Str ):從第nstart行開始起進行查找,查找Str的文本行;

Int listbox.SelectString ( int nstart, LPCTSTR Str ) :從第nstart行開始,選擇包含Str字符串的那一行;

/////////////////////////////////////////////////////////////////////////////////////////

對Listbox中某一行進行雙擊操作,要產生一個響應函數的步驟:

BEGIN_MESSAGE_MAP()

END_MESSAGE_MAP()

之間添加響應函數的消息映射,如函數名為C**Dlg::OnLbnDblClk,添加下面代碼

ON_LBN_DBLCLK(IDC_LIST1,&C**Dlg::OnLbnDblClk)

//IDC_LIST1為listbox控件的ID

然后在C**Dlg.h中添加函數OnLbnDblClk()的聲明

最后在C**Dlg::OnLbnDblClk()函數中添加實現代碼即可


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM