您的位置:首页 > 其它

VS2015 MFC组合框控件

2017-08-09 10:09 288 查看
MFC中的组合框控件用CComboBox类来表示。该控件可以看作是列表控件和编辑框控件的组合。一般情况下,在列表框中选择了某项之后,该项的内容会在文本框中显示出来。

1 概述

组合框控件共分为3类,分别是Simple、Draw-down和Draw-down
list。这三种类型主要有两方面的区别:一是控件中列表框显示的时机,二是控件中文本框的属性(静态文本框还是动态文本框),如表1所示。
表1
三种类型的组合框的区别
类型
列表框显示的时机
文本框的属性
Simple
一直显示
动态文本框(可直接输入)
Draw-down
单击控件右侧向下箭头才显示
动态文本框(可直接输入)
Draw-down list
单击控件右侧向下箭头才显示
静态文本框(不能输入)
三种类型的组合框控件如图1所示。从左到右依次为simple、dropdown和dropdown
list类型。从图1可以看出,simple类型的组合框在开始的时候就会显示列表;而dropdown和dropdown
list类型的组合框必须点击控件右侧的向下箭头时才会显示列表。dropdown类型的组合框中的编辑框是可以修改和输入的;而dropdown list类型的组合框中的编辑框不能修改和输入,只能通过在列表中选择。


 
图1
三种类型的组合框

2 类型选择

在VS2015的MFC程序中创建控件的方法主要有两种:一种是在“资源编辑器”中通过“工具箱”将控件拖入到界面中,该方法适用于“基于对话框的MFC程序”;另一种是通过控件对应的MFC类的成员函数进行创建,该方法适用于“基于文档/视图的MFC程序”。

2.1 在“资源编辑器”中选择组合框控件的类型

在VS2015的“资源编辑器”中选中组合框控件,之后在右侧的“属性”中选择“Type”栏,之后在右侧的下拉菜单中选择组合框的类型,如图2所示。


 
图2
选择组合框控件类型

2.2 通过CComboBox类的成员函数修改其类型

MFC中的组合框控件用CComboBox类来表示。通过该类的成员函数CComboBox::Create()函数设置其类型。该函数的格式是
virtual BOOL Create(

    DWORD dwStyle,  

    const RECT& rect,  

    CWnd* pParentWnd,  

    UINT nID);

其中,参数dwStyle表示组合框的属性,可以通过该参数指定组合框类型;rect表示组合框的位置;pParentWnd表示组合框的父窗口指针;nID表示组合框的ID。
首先在对话框类中添加CComboBox类的对象
CComboBox m_combobox_manual;
之后在对话框类的OnInitialDialog()函数中通过该变量调用CComboBox::Create()函数
m_combobox_manual.Create(WS_CHILD|WS_VISIBLE|WS_VSCROLL| CBS_DROPDOWNLIST, CRect(0, 0, 100, 100), this, 10001);
其中,WS_CHILD表示该组合框控件是对话框的子控件,WS_VISIBLE表示该控件可见,WS_VSCROLL表示该控件具有垂直的滑动条,CBS_DROPDOWNLIST表示该组合框控件的类型是dropdown
list,另外两个类型对应的值是CBS_SIMPLE和CBS_DROPDOWN。如果这三个值都没有指定,则默认类型为simple。

3 大小调整

在“2.2
通过CComboBox类的成员函数修改其类型”中已经提到,可以通过CComboBox::Create()函数的第三个参数修改控件的大小。
对于在VS2015的“资源编辑器”中直接添加的组合框控件,可以手动调整其大小。选中要调整大小的对话框,鼠标拖动蓝色方框即可对编辑框的宽度进行调整,如图3所示。


 
图3
调整组合框宽度
如果需要调整组合框的高度,即控件列表的高度时,则需要在“资源编辑器”中点击控件右侧的向下箭头,之后向下拖动蓝色方框即可,如图4所示。


 
图4
调整组合框高度
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: