您的位置:首页 > 其它

mfc combo box 控件使用方法总结(转载)

2009-11-13 10:40 183 查看
由于接触VC时间不长,对VC中控件的用法也不是很了解,用到时在网上查了很多,现总结如下:

1、改变下拉框大小:先点向下的箭头,就可以调整下拉框大小

2、如果 ComboBox 的 Sorted 属性设置为 true,
则新添加项将按字母顺序插入到列表中。
否则,在列表的结尾处插入项。

3、要立即响应选择框的改变(即选择框一改变选项,就立刻将结果传递进去)!
响应他的哪个消息比较好?

如果是只能选择的响应ON_CBN_SELCHANGE
如果是可以编辑的,那么要立刻响应编辑就是ON_CBN_EDITCHANGE

4、CBN_SELENDOK是什么作用?
This notification message is sent when the user clicks a list item,
or selects an item and then closes the list.
It indicates the user's selection is to be processed

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

ON_CBN_DBLCLK 鼠标双击
ON_CBN_DROPDOWN 列表框被弹出
ON_CBN_KILLFOCUS / ON_CBN_SETFOCUS 在输入框失去/得到输入焦点时产生
ON_CBN_SELCHANGE 列表框中选择的行发生改变
ON_CBN_EDITUPDATE 输入框中内容被更新
使用以上几种消息映射的方法为定义原型如:afx_msg void memberFxn( );的函数,
并且定义形式如ON_Notification( id, memberFxn )的消息映射。
如果在对话框中使用组合框,Class Wizard会自动列出相关的消息,并能自动产生消息映射代码。

6、改变ComboBox的下拉列表框宽度
一般情况下,列表框的宽度和选择框是一样宽的,为了让列表框变的更宽,可以用
m_Combobox.setdroppedwidth(int width); 来调整 他的宽度

7、如何使控键ComboBox不能输入只能在下拉菜单中选择?
VC6中style属性设为csDropDownList
VC2005中Type属性设为Drop List

8、设置当前项或得到当前是第几项

m_ComboBox1.SetCurSel(N); //SetCurSel函数可改变标签控件当前选定的项目
//这个N可以是-1,表示无选择,0表示第一项,1表示第二项。。


//这个函数一般在初始化的时候使用
m_ComboBox1.GetCurSel(); //得到当前是第几项.0是第一项,1是第二项

//这个函数相应的是ON_CBN_SELCHANGE 列表框中选择的行发生改变
消息
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: