C++组合框控件使用方法

C++组合框控件使用方法,第1张

C++组合框控件使用方法,第2张

Ccobox控件,又称组合框控件,有三种形式可供选择:1。简单)2个组合框;2.下拉组合框;3.下拉列表组合框。

CComboBox控件常用设置属性描述:
type属性:里面有三个选项。有三种形式,后两种形式比较常用。区别在于Dropdown的编辑区是一个可编辑控件,而droplist是一个静态控件。

数据属性:程序初始化时,下拉列表会显示其属性的内容,用分号分隔。它的属性只支持后两种形式。

Sort属性:自动对添加到下拉列表框中的数据进行排序。如果你不想让他改变你的显示顺序,就把它设为False。
控件是一个窗口。它的基类是CWnd。所以CComboBox也可以使用CWnd的一些功能,而且本身的功能就有30多个。我写了一个演示程序来演示一些常用的函数,你可以参考它的代码来看看它们的功能。

注意:m_cbox是CComboBox控件的关联变量,m_end是EDIT控件的关联变量。

1.GetCount()函数:用于获取列表框中选项的数量。int GetCount()const;(这是函数的原型,我会在每一个的后面列出来。)下面的例子是程序中每个按钮的代码
int I;
CString str;
i=m_cbox。GetCount();
str。格式(" %d ",I);
m_end= "共"+str+"个数据";
update data(FALSE);

2.GetCurSel()函数:用于获取用户选择的下拉列表框中数据的索引值。返回值从零开始,如果没有选择选项,将返回-1 int getCursel()const
int I;
CString str;
i=m_cbox。GetCurSel();
str。格式(" %d ",I+1);
if (i==-1) m_end= "你什么都没选";
else m_end= "您选择了"+str+"项";
update data(FALSE);

3.SetCurSel函数:在列表框中选择一个选项。索引从0开始,-1表示没有意义。当需要清除列表框空中选中的内容时,可以使用该功能;
if(m_ielse {
m_cbox。SetCurSel(-1);
m _ I = 0;
}

4.SetEditSel函数:设置编辑区蓝色选中字段的长度,Bool SetEditsel (intnstartchar,
intnendchar);NStartChar是起始位置,当它设置为-1时,不选择任何字段,nEndChar是结束位置。还有一个对应的函数GetEditSel获取其位置,这里不详细说明。
m_cbox。SetEditSel (3,5);//在编辑框中键入一串数字。按这个按钮看效果。
//它的作用是选择第3到第5个字符作为热点。

5.Clear() Cut() Paste() Copy()这四个函数放在一起,因为都是编辑编辑框中选中文本的函数。很多初学者不了解这四个函数,使用这些函数没有效果。实际上,它们不处理编辑框中的内容,但它们真正处理的是你用鼠标选择的内容。很多书对Clear()函数的解释是错误的。很多书里的解释都是清除当前选中的文字。我觉得这个解释不一样。真正的解释是释放你刚刚选中的文字,也就是不要选中,而不是删除。删除选中文本的真正作用是剪切(),复制()是复制选中的文本,粘贴()是对光标。它的演示将

6.LimitText()函数它的作用是限制编辑框中键入文本的长度,BOOL limit text(int nmax chars);nMaxChars为0时,不是不能输入,而是长度为65535字节。

7.GetLBText()函数。它的原型是VoidGetLBText (IntNindex,CString & rString)。Nindex是列表框中数据的索引值,RString是字符串,它的作用是将索引号为nIndex的数据放入rString变量中。对应的GetLBTextLen(intnIndex)函数是获取索引号为nIndex
m_cbox的数据的长度。GetLBText (2,m _ end);// GetLBText按钮
update data(0);
CString str;//GetLBTextLen button
int I = m _ cbox . GetLBTextLen(2);
str。格式(" %d ",I);
m _ end = str;
update data(FALSE);
8。addstring()deletestring()insertstring()reset content()四个函数放在一起。都是下拉列表框的处理函数。AddString(LPCTSTR lpszString)将一段数据添加到列表框的尾部。用于参数字符串。deletestring (uintindex)删除索引为nIndex的数据。InsertString(int nIndex,LPCTSTR lpszString)在索引nIndex处插入IpszString的内容。ResetContent()的作用是清除列表框中的所有内容。
9。SetDropwidth (uinnwidth)函数。它用于设置下拉列表框的最小宽度。当下拉列表框中的数据太长而无法完全显示时,我们可以使用此功能将列表框的宽度设置得更大。同样,GetDroppedWidth()是返回的列表框的宽度。

以下是各种论坛使用CCombBox控件的问题总结,并给出了积极的解决方法。
1。CCombbox在对话框中没有下拉项的问题
答:资源编辑器中对话框中CCombbox组件的垂直范围放大后,可以看到字体。看到向下的黑色箭头了吗?单击它将其下拉。呵呵,就这么简单。

2.CCombobox如何记住用户的输入?
答:记住用户的输入必须使用文件读写,或者将内容添加到注册表中。以后我会给出解决方案。

3.ccombobox如何使其只读且不可编辑
答:看了这篇文章的介绍,可能你现在已经知道CCOMBOBOX有三种类型。选择你需要的!

4.我希望界面一显示就在组合框中显示默认数据
答:你只需要在OnInitDialog中添加我上面提到的SetCurSel()函数即可。

5.如何将选中的内容赋给变量
A:先为CCOMBOBOX设置一个CString关联变量,然后添加事件处理函数CBN_ Selchange。只需使用UpdateData(FALSE)即可。

6.在“组合框”组合框中,条目的对齐方式是左对齐。可以设置为居中或右对齐吗?
答:没有直接的办法。你必须调整自己。比如长度为10
int I;
字符串。格式(" %10d ",I);
ccombox-> addstring
/////////////////////////动态子类化ccombox以获取子控件编辑和列表框//////////////。ComboBox是常用的控件,有三种样式:CBS_SIMPLE(简单)、CBS_DROPDOWN(下拉)和CBS_DROPDOWNLIST(下拉列表)。下拉列表样式不允许输入,简单样式总是显示下拉框。

组合框是列表框和编辑框的组合。本文将以限制仅输入电话号码为例,介绍获取编辑框(类似地,您可以获取列表框)的子类化过程。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » C++组合框控件使用方法

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情