导航上mlc是汽车导航rst什么意思思

COMBOX的基本使用
组合框其实就是把一个和一个列表框组合到了一起,分为三种:简易(Simple)组合框、下拉式(Dropdown)组合框和下拉列表式(Drop
List)组合框。下面讲讲它们的区别。
&&&&&&&简易组合框中的列表框是一直显示的,效果如下图:
&&&&&&&下拉式组合框默认不显示列表框,只有在点击了编辑框右侧的下拉箭头才会弹出列表框,列表框弹出后如下图:
&&&&&&&下拉列表式组合框的编辑框是不能编辑的,只能由用户在下拉列表框中选择了某项后,在编辑框中显示其文本。下拉列表式组合框如下图:
&&&&&&&经过上面的介绍,大家应该知道,最常用的当属下拉式组合框和下拉列表式组合框了,它们在很多时候能使程序看起来更专业,更简洁,让用户在进行选择操作时更方便。
组合框被操作时会向父窗口发送通知消息,这些通知消息及其含义如下:
CBN_CLOSEUP:组合框的列表框组件被关闭,简易组合框不会发送该通知消息
CBN_DBLCLK:用户在某列表项上双击鼠标,只有简易组合框才会发送该通知消息
CBN_DROPDOWN:组合框的列表框组件下拉,简易式组合框不会发送该通知消息
CBN_EDITUPDATE:在编辑框准备显示改变了的正文时发送该消息,下拉列表式组合框不会发送该消息
CBN_EDITCHANGE:编辑框的内容被用户改变了,与CBN_EDITUPDATE不同,该消息是在编辑框显示的正文被刷新后才发出的,下拉列表式组合框不会发送该消息
&&&&&&&CBN_ERRSPACE:组合框无法申请足够的内存来容纳列表项
CBN_SELENDCANCEL:表明用户的选择应该取消,当用户在列表框中选择了一项,然后又在组合框控件外单击鼠标时就会导致该消息的发送
CBN_SELENDOK:用户选择了一项,然后按了回车键或单击了下滚箭头,该消息表明用户确认了自己所作的选择
CBN_KILLFOCUS:组合框失去了输入焦点
CBN_SELCHANGE:用户通过单击或移动箭头键改变了列表的选择
CBN_SETFOCUS:组合框获得了输入焦点
CComboBox类的主要成员函数
为组合框是由编辑框和列表框组合而成的,所以组合框的操作和编辑框与列表框的操作有很多相似之处,同样的,CComboBox类的成员函数也和CEdit
类与CListBox类的成员函数有很多相似之处,不但功能相似,甚至函数名和参数也很相似。鸡啄米下面大概讲解下CComboBox类的主要成员函数,
更详细的内容可以参见MSDN。
&&&&&&&int
GetCount( )
&&&&&&&获取组合框控件的列表框中列表项的数量。
&&&&&&&int
GetCurSel( )
&&&&&&&获取组合框控件的列表框中选中项的索引,如果没有选中任何项,该函数返回CB_ERR。
&&&&&&&int
SetCurSel(int
nSelect);&&&&&&&在组合框控件的列表框中选择某项。nSelect参数指定了要选择的列表项的索引,如果为-1则列表框中当前选择项被取消选中,编辑框也被清空。
&&&&&&&DWORD
GetEditSel( )
&&&&&&&获取组合框控件的编辑框中当前选择范围的起始和终止字符的位置。该函数返回一个32位数,低16位存放起始位置,高16位存放选择范围后第一个非选择字符的位置。如果该函数用于下拉列表式组合框时,会返回CB_ERR。
&&&&&&&BOOL
SetEditSel(int nStartChar,int
nEndChar);&&&&&&
用于在组合框控件的编辑框中选择字符。nStartChar参数指定起始位置,nEndChar参数指定终止位置。
DWORD_PTR GetItemData(int nIndex)
获取组合框中指定项所关联的32位数据。nIndex参数指定组合框控件的列表框某项的索引(从0开始)。
int SetItemData(int nIndex,DWORD_PTR
dwItemData);&&&&&&
为某个指定的组合框列表项设置一个关联的32位数。nIndex参数指定要进行设置的列表项索引。dwItemData参数指定要关联的新值。
void GetLBText(int nIndex,CString& rString)
从组合框控件的列表框中获取某项的字符串。nIndex参数指定要获取字符串的列表项的索引,CString参数用于接收取到的字符串。
int GetLBTextLen(int nIndex)
&&&&&&&获取组合框控件的列表框中某项的字符串长度。nIndex参数指定要获取字符串长度的列表项的索引。&&
int GetTopIndex( )
获取组合框控件的列表框中第一个可见项的索引。
int SetTopIndex(int
nIndex);&&&&&&
将组合框控件的列表框中某个指定项设置为可见的。nIndex参数指定了该列表项的索引。该函数成功则返回0,有错误发生则返回CB_ERR。
BOOL LimitText(int
nMaxChars);&&&&&&
用于限制用户在组合框控件的编辑框中能够输入的最大字节长度。nMaxChars参数指定了用户能够输入文字的最大字节长度,如果为0则长度被限制为65535个字节。
int AddString(LPCTSTR
lpszString);&&&&&&
为组合框控件中的列表框添加新的列表项。lpszString参数是指向要添加的字符串的指针。该函数的返回值如果大于等于0,那么它就是新列表项的索
引,而如果有错误发生则会返回CB_ERR,如果没有足够的内存存放新字符串则返回CB_ERRSPACE。
int DeleteString(UINT
nIndex);&&&&&&
删除组合框中某指定位置的列表项。nIndex参数指定了要删除的列表项的索引。该函数的返回值如果大于等于0,那么它就是组合框中剩余列表项的数量。如果nIndex指定的索引超出了列表项的数量则返回CB_ERR。
int FindString(int nStartAfter,LPCTSTR lpszString)
组合框控件的列表框中查找但不选中第一个包含指定前缀的列表项。nStartAfter参数指定了第一个要查找的列表项之前的那个列表项的索引。
lpszString指向包含要查找的前缀的字符串。该函数的返回值如果大于等于0,那么它是匹配列表项的索引,如果查找失败则返回CB_ERR。
int InsertString(int nIndex,LPCTSTR
lpszString);&&&&&&
向组合框控件的列表框中插入一个列表项。nIndex参数指定了要插入列表项的位置,lpszString参数则指定了要插入的字符串。该函数返回字符串
被插入的位置,如果有错误发生则会返回CB_ERR,如果没有足够的内存存放新字符串则返回CB_ERRSPACE。
int SelectString(int nStartAfter,LPCTSTR
lpszString);&&&&&&
在组合框控件的列表框中查找一个字符串,如果查找到则选中它,并将其显示到编辑框中。参数同FindString。如果字符串被查找到则返回此列表项的索引,如果查找失败则返回CB_ERR,并且当前选择项不改变。
此外,CComboBox类还继承了CWnd类的成员函数GetWindowText、SetWindowText等。
一个最简单的应用就是通过combox选择然后在文本框中显示出来:
主要代码如下:
& //为combox添加下拉框的内容,默认index从0开始的
ComBox_1.AddString(_T("111"));
ComBox_1.AddString(_T("222"));
ComBox_1.AddString(_T("333"));
ComBox_1.SetCurSel(0);
//为我们的文本框也设置默认的值
SetDlgItemText(IDC_EDIT1,_T("TEXT"));
//我们希望在组合框中选中的列表项改变时,将最新的选择项实时显示到编辑框中,那么这就要用到CBN_SELCHANGE通知消息
//获取combox的索引 然后通过索引找到文本内容
res=ComBox_1.GetCurSel();
&&& CString
ComBox_1.GetLBText(res,text);
//将取到的文本显示到文本框中
SetDlgItemText(IDC_EDIT1,text);
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。12180人阅读
Winform(23)
1、绑定combobox的代码如下:
DataTable LDT_CodeType = Models.MoCodefile.GetCodeType();
&&&&&&&&&&& if (LDT_CodeType != null)
&&&&&&&&&&& {
&&&&&&&&&&&&&&& cboxCtype.DataSource = LDT_CodeT
&&&&&&&&&&&&&&& cboxCtype.DisplayMember = &codetypename&;
&&&&&&&&&&&&&&& cboxCtype.ValueMember = &codetypeno&;
&&&&&&&&&&& }
获取选中值:cboxCtype.SelectedIndex.ToString() 或是 cboxCtype.SelectedValue.ToString()
获取选中text:
&&&&&&&&&&&& 方法一:DataRowView dr = (DataRowView)cboxCtype.Items[cboxCtype.SelectedIndex];
&&&&&&&&&&& 方法二:cboxCtype.GetItemText(cboxCtype.Items[cboxCtype.SelectedIndex])
2、C#中ComboBox能否设定多个ValueMenber?
举个例子:表student,有字段id,name,tel有个combobox绑定了这个表,其中DisplayMember设置为id,现要取出对应的name和tel, 用ValueMember只能取一个,该怎么做呀?
一般是这样绑定和取值: comboBox1.DataSource = //绑定student表为数据源comboBox1.DisplayMember = &name&; comboBox1.ValueMember = &id&; string name = comboBox1.SelectedT//取DisplayMember值 string id = comboBox1.SelectedValue.ToString();//取ValueMember值 DataTable table1
= boBox1.DataSource as DataT int rowIndex = boBox1.SelectedI string str1 = table1.Rows[rowIndex][&tel&].ToString();//取绑定表中的其它值
3、C# Winform ComboBox 在输入内容时 会在下拉菜单中显示 根据输入内容查询的结果
设置combobox的属性面板中的
属性:“DropDownStyle”为“DropDownList”
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:154718次
积分:1466
积分:1466
排名:千里之外
原创:15篇
转载:50篇
(1)(2)(1)(1)(1)(4)(6)(1)(4)(5)(3)(1)(2)(1)(3)(2)(3)(1)(12)(3)(1)(1)(6)

我要回帖

更多关于 汽车res是什么意思 的文章

 

随机推荐