VS2015 MFC组合框控件
2017-08-09 10:09
288 查看
MFC中的组合框控件用CComboBox类来表示。该控件可以看作是列表控件和编辑框控件的组合。一般情况下,在列表框中选择了某项之后,该项的内容会在文本框中显示出来。
list。这三种类型主要有两方面的区别:一是控件中列表框显示的时机,二是控件中文本框的属性(静态文本框还是动态文本框),如表1所示。
表1
三种类型的组合框的区别
三种类型的组合框控件如图1所示。从左到右依次为simple、dropdown和dropdown
list类型。从图1可以看出,simple类型的组合框在开始的时候就会显示列表;而dropdown和dropdown
list类型的组合框必须点击控件右侧的向下箭头时才会显示列表。dropdown类型的组合框中的编辑框是可以修改和输入的;而dropdown list类型的组合框中的编辑框不能修改和输入,只能通过在列表中选择。
图1
三种类型的组合框
图2
选择组合框控件类型
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。
通过CComboBox类的成员函数修改其类型”中已经提到,可以通过CComboBox::Create()函数的第三个参数修改控件的大小。
对于在VS2015的“资源编辑器”中直接添加的组合框控件,可以手动调整其大小。选中要调整大小的对话框,鼠标拖动蓝色方框即可对编辑框的宽度进行调整,如图3所示。
图3
调整组合框宽度
如果需要调整组合框的高度,即控件列表的高度时,则需要在“资源编辑器”中点击控件右侧的向下箭头,之后向下拖动蓝色方框即可,如图4所示。
图4
调整组合框高度
1 概述
组合框控件共分为3类,分别是Simple、Draw-down和Draw-downlist。这三种类型主要有两方面的区别:一是控件中列表框显示的时机,二是控件中文本框的属性(静态文本框还是动态文本框),如表1所示。
表1
三种类型的组合框的区别
类型 | 列表框显示的时机 | 文本框的属性 |
Simple | 一直显示 | 动态文本框(可直接输入) |
Draw-down | 单击控件右侧向下箭头才显示 | 动态文本框(可直接输入) |
Draw-down list | 单击控件右侧向下箭头才显示 | 静态文本框(不能输入) |
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
调整组合框高度
相关文章推荐
- VS2015使用MFC编程时struct结构变量报错
- VS2015动态库编程之MFC扩展动态库(上)
- c++ opencv 3.2 +Mfc VS2015窗体显示图片方法
- VS2015下MFC程序调用控制台失败解决办法
- 430的VS2015单文档MFC学习笔记之创建以及添加按钮
- 小字典之MFC简单的多线程调用类的成员函数实现逐步画线功能 VS2015 C++ 完成
- vs2015 MFC工程添加消息响应函数
- MFC VS2015设置快捷键响应函数
- 在VS2015中用C++创建MFC规则动态库DLL
- VS2015 VS2017 MFC 动态布局的改进
- Seetaface 01 Seetaface win10 vs2015编译(cmake自动配置,可选mfc界面)
- 使用MFC程序显示计算机图形学的直线生成算法(VS2015)
- VS2015 MFC显示系统时间
- VS2015动态库编程之MFC规则动态库(中)
- 在VS2015下通过MFC实行对IE浏览器Internet Explorer类的控制 控制的工具CrystalDiskMark
- MFC随笔---VS2015创建MFC项目
- 502的VS2015单文档MFC学习笔记之按钮事件的相应
- VS2015动态库编程之MFC规则动态库(下)
- vs2015找不到win32控制台面板,mfc
- vs2015 MFC中动态显示图片