VS2010 MFC编程入门之二十四(常用控件:列表框控件ListBox)

列表框控件(ListBox)是MFC中常用的控件之一,用于显示一个或多个字符串列表,用户可以选择其中一项或多项。

一、ListBox的创建和使用方法

1. 在对话框资源中添加一个列表框控件,可以使用控件工具栏中的“ListBox”按钮进行添加,或者手动在对话框资源文件中添加以下代码:

```

CONTROL "",IDC_LIST1,"LISTBOX",LBS_STANDARD | LBS_MULTIPLESEL | LBS_HASSTRINGS | WS_BORDER | WS_VSCROLL,50,30,100,100

```

2. 在对话框类的头文件中定义一个成员变量来引用列表框控件:

```

CListBox m_listBox;

```

3. 在OnInitDialog函数中获取列表框控件的指针,并进行初始化操作:

```

m_listBox.SubclassDlgItem(IDC_LIST1, this);

m_listBox.AddString(_T("Item 1"));

m_listBox.AddString(_T("Item 2"));

m_listBox.AddString(_T("Item 3"));

```

4. 可以调用列表框控件的各种方法来进行数据操作,例如添加字符串、删除字符串、获取选中项等:

```

m_listBox.AddString(_T("Item 4"));

m_listBox.DeleteString(1);

int index = m_listBox.GetCurSel();

CString strItem;

m_listBox.GetText(index, strItem);

```

二、ListBox的常用属性和方法

1. 属性:

- LBS_STANDARD:标准列表框样式,包括垂直滚动条,默认样式。

- LBS_EXTENDEDSEL:扩展选择样式,可以通过Ctrl键和Shift键进行多项选择。

- LBS_MULTIPLESEL:多项选择样式,可以通过Ctrl键进行多项选择。

- LBS_HASSTRINGS:列表框中存储的是字符串。

- WS_BORDER:显示边框。

- WS_VSCROLL:显示垂直滚动条。

2. 方法:

- AddString:添加一个字符串到列表框中。

- DeleteString:删除列表框中的一个字符串。

- GetCount:获取列表框中字符串的数量。

- SetCurSel:设置列表框中选择的项。

- GetCurSel:获取列表框中当前选择的项。

- GetText:获取列表框中指定位置的字符串。

三、ListBox的案例说明

以下是一个简单的案例,实现了一个多选的列表框。

1. 在对话框资源中添加一个列表框控件,并设置合适的属性。

2. 在对话框类的头文件中定义一个成员变量:

```

CListBox m_listBox;

```

3. 在OnInitDialog函数中获取列表框控件的指针,并进行初始化操作:

```

m_listBox.SubclassDlgItem(IDC_LIST1, this);

m_listBox.AddString(_T("Item 1"));

m_listBox.AddString(_T("Item 2"));

m_listBox.AddString(_T("Item 3"));

```

4. 在OnOK函数中获取选中的项,并输出到消息框中:

```

int count = m_listBox.GetSelCount();

if (count > 0) {

int* selectedItems = new int[count];

m_listBox.GetSelItems(count, selectedItems);

CString strSelected;

for (int i = 0; i < count; i++) {

CString strItem;

m_listBox.GetText(selectedItems[i], strItem);

strSelected += strItem;

if (i < count - 1) {

strSelected += _T(", ");

}

}

delete[] selectedItems;

AfxMessageBox(strSelected);

} else {

AfxMessageBox(_T("No item selected."));

}

```

这样,当用户选择列表框中的项并点击对话框的“确定”按钮时,将会弹出一个消息框显示选中的项。

以上就是关于ListBox控件的详细介绍、使用方法和案例说明。希望对你的学习有所帮助! 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.37seo.cn/

点赞(51) 打赏

评论列表 共有 2 条评论

大牌狂傲小淑女 11月前 回复TA

顺着财路往下走,66大顺机会有,一路朝福不回头,88要发财源守。今朝吉祥如意日,多多外出碰运气,发个大财中个福气。万事吉祥记忆。618乐要发。

说再多抱歉,也治不好伤口 1年前 回复TA

祝自己五福临门,万事顺利。

立即
投稿
发表
评论
返回
顶部