您的位置:首页 > 运维架构

VC中ComboBox用法详解

2012-05-17 11:33 309 查看

由于接触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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  dropdown wizard class list