当前位置:编程学习 > VC++ >>

VC中ComboBox用法详解

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

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

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

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

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

4、CBN_SELENDOK是什么作用?
   发送这个通知消息,当用户点击一个列表项,或选择一个项目,然后关闭名单。这表明用户的选择是要处理

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_ComboBox1.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是第二项

 

9.将选项内容赋值给字符串m_boxstring。

m_ComboBox1GetLBText(m_ComboBox1.GetCurSel(),m_boxstring);

 


摘自 尹海文的专栏

补充:软件开发 , Vc ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,