列表框List Box

List Box/Check List Box

ListBox窗口用来列出一系列的文本,每条文本占一行。创建一个列表窗口可以使用成员函数:
BOOL CListBox::Create( LPCTSTR lpszText, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID = 0xffff );
其中dwStyle将指明该窗口的风格,除了子窗口常用的风格WS_CHILD,WS_VISIBLE外,你可以针对列表控件指明专门的风格。

· LBS_MULTIPLESEL 指明列表框可以同时选择多行

· LBS_EXTENDEDSEL 可以通过按下Shift/Ctrl键选择多行

· LBS_SORT 所有的行按照字母顺序进行排序

在列表框生成后需要向其中加入或是删除行,可以利用:
int AddString( LPCTSTR lpszItem )添加行,
int DeleteString( UINT nIndex )删除指定行,
int InsertString( int nIndex, LPCTSTR lpszItem )将行插入到指定位置。
void ResetContent( )可以删除列表框中所有行。
通过调用int GetCount( )得到当前列表框中行的数量。

如果需要得到/设置当前被选中的行,可以调用int GetCurSel( )/int SetCurSel(int iIndex)。如果你指明了选择多行的风格,你就需要先调用int GetSelCount( )得到被选中的行的数量,然后int GetSelItems( int nMaxItems, LPINT rgIndex )得到所有选中的行,参数rgIndex为存放被选中行的数组。通过调用int GetLBText( int nIndex, LPTSTR lpszText )得到列表框内指定行的字符串。

此外通过调用int FindString( int nStartAfter, LPCTSTR lpszItem )可以在当前所有行中查找指定的字符传的位置,nStartAfter指明从那一行开始进行查找。
int SelectString( int nStartAfter, LPCTSTR lpszItem )可以选中包含指定字符串的行。

在MFC 4.2版本中添加了CCheckListBox类,该类是由CListBox派生并拥有CListBox的所有功能,不同的是可以在每行前加上一个检查框。必须注意的是在创建时必须指明LBS_OWNERDRAWFIXED或LBS_OWNERDRAWVARIABLE风格。

通过void SetCheckStyle( UINT nStyle )/UINT GetCheckStyle( )可以设置/得到检查框的风格,关于检查框风格可以参考4.1 Button中介绍。通过void SetCheck( int nIndex, int nCheck )/int GetCheck( int nIndex )可以设置和得到某行的检查状态,关于检查框状态可以参考4.1 Button中介绍。

最后介绍一下列表框几种常用的消息映射宏:

· ON_LBN_DBLCLK 鼠标双击

· ON_EN_ERRSPACE 输入框无法分配内存时产生

· ON_EN_KILLFOCUS / ON_EN_SETFOCUS 在输入框失去/得到输入焦点时产生

· ON_LBN_SELCHANGE 选择的行发生改变

使用以上几种消息映射的方法为定义原型如:afx_msg void memberFxn( );的函数,并且定义形式如ON_Notification( id, memberFxn )的消息映射。如果在对话框中使用列表框,Class Wizard会自动列出相关的消息,并能自动产生消息映射代码。
时间: 2024-10-19 17:08:22

列表框List Box的相关文章

NX二次开发-Block UI C++界面List Box(列表框)控件的获取(持续补充)

1 获得当前选择的 2 //列表框控件 3 PropertyList* ExpressionListProperties = list_box0->GetProperties(); 4 std::vector<NXOpen::NXString> listStrings = ExpressionListProperties->GetStrings("ListItems"); 5 std::vector<int> index = ExpressionLi

第9章 子窗口控件_9.4-9.6滚动条类、编辑框类、列表框类

9.4 滚动条类 9.4.1 滚动条控件 (1)窗口滚动条与滚动条控件的比较 窗口滚动条 滚动条控件 消息 发送WM_VSCROLL.WM_HSCROLL消息.不发送WM_COMMAND消息.wParam参数的意义是一样的.lParam:当消息来自窗口滚动条时为NULL,来自滚动条控件时为滚动条的句柄. 宽度或高度 固定大小 //水平滚动条高度 GetSysMetrics(SM_CYHSCROLL); //垂直滚动条宽度 GetSysMetrics(SM_CYVSCROLL) 1.大小.位置均可

Swing列表框组件

public class JListTest extends JFrame{    private static final long serialVersionUID=1L;        public JListTest()    {        Container cp=getContentPane();        cp.setLayout(null);        JList<String> jl=new JList<>(new MyListModel());  

20151214学习内容:Web之列表框

列表框: ListBox 1. 绑定数据 方法一: testDataContext context = new testDataContext(); ListBox1.DataSource = context.Nation; ListBox1.DataValueField = "Code"; ListBox1.DataTextField = "Name"; ListBox1.DataBind(); 绑定数据 方法二: ListItem item = new List

WB 列表框

列表框 HTML代码: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat=&qu

MVC4.0中下来列表框的,两种使用方法DropDownList

后台控制器代码 public ActionResult Drop() { var list = new List<SchoolInfo>(); list.Add(new SchoolInfo() { SchoolID = 1, SName = "北京大学" }); list.Add(new SchoolInfo() { SchoolID = 2, SName = "上海大学" }); var model = new UserViewInfo(); mod

积累的VC编程小技巧之列表框

1.列表框中标题栏(Column)的添加 创建一个List Control,其ID为IDC_LIST,在其Styles属性项下的View项里选择Report.Align项里选择Top.Sort项里选择None. 然后在该List所在对话框的类(头文件)里创建ClistCtrl的一个对象m_list然后在.cpp文件的OnInitDialog()之类的函数里实现如下代码: CString strname[3]; strname[0]="Screen Name"; strname[1]=&

17windows_17_listbox列表框

17windows_17_listbox列表框 #include <windows.h> #include <iostream> #include "resource.h" CHAR szText[256] = { 0 }; #define PrintLog(x) WriteConsole(g_hStdout, x, strlen(x), NULL, NULL) HINSTANCE g_hInst = NULL; //窗口句柄 HANDLE g_hStdout

webform下拉列表、列表框

下拉列表:DropDownList 1.绑定数据: DropDownList1.DataSource = context.Nation; DropDownList1.DataValueField = "Code"; DropDownList1.DataTextField = "Name"; DropDownList1.DataBind(); 2.取选中项的值 DropDownList1.SelectedValue.ToString(); 3.设置哪一项选中 Drop