VS2015 MFC组合框控件

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hou09tian/article/details/76965262

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

1 概述

组合框控件共分为3类,分别是SimpleDraw-downDraw-down list。这三种类型主要有两方面的区别:一是控件中列表框显示的时机,二是控件中文本框的属性(静态文本框还是动态文本框),如表1所示。

1 三种类型的组合框的区别

类型

列表框显示的时机

文本框的属性

Simple

一直显示

动态文本框(可直接输入)

Draw-down

单击控件右侧向下箭头才显示

动态文本框(可直接输入)

Draw-down list

单击控件右侧向下箭头才显示

静态文本框(不能输入)

三种类型的组合框控件如图1所示。从左到右依次为simpledropdowndropdown list类型。从图1可以看出,simple类型的组合框在开始的时候就会显示列表;而dropdowndropdown list类型的组合框必须点击控件右侧的向下箭头时才会显示列表。dropdown类型的组合框中的编辑框是可以修改和输入的;而dropdown list类型的组合框中的编辑框不能修改和输入,只能通过在列表中选择。

 

1 三种类型的组合框

2 类型选择

VS2015MFC程序中创建控件的方法主要有两种:一种是在“资源编辑器”中通过“工具箱”将控件拖入到界面中,该方法适用于“基于对话框的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_SIMPLECBS_DROPDOWN。如果这三个值都没有指定,则默认类型为simple

3 大小调整

“2.2 通过CComboBox类的成员函数修改其类型”中已经提到,可以通过CComboBox::Create()函数的第三个参数修改控件的大小。

对于在VS2015的“资源编辑器”中直接添加的组合框控件,可以手动调整其大小。选中要调整大小的对话框,鼠标拖动蓝色方框即可对编辑框的宽度进行调整,如图3所示。

 

3 调整组合框宽度

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

 

4 调整组合框高度

阅读更多

扫码向博主提问

棉猴

非学,无以致疑;非问,无以广识
去开通我的Chat快问
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页