VC如何实现Office式样的扁平组合框

MS Office家族产品中常常见到扁平式组合框,本文将介绍一个C++类:CXTFlatComboBox ,用这个类可以在自己的程序中轻松实现扁平式组合框,也就是让标准的CComboBox控件外观扁平化。CXTFlatComboBox类是codejoke开发工具包Xtreme Toolkit的一个成员。任何人都可以免费使用这个类的源代码。

使用方法:

将CXTFlatComboBox类的头文件 XTFlatComboBox.h 和实现文件 XTFlatComboBox.cpp添加到工程中,然后在使用这个类的文件中包含头文件: #include "XTFlatComboBox.h"

接着在实现文件中声明类实例,你可以用类向导(Class Wizard)先添加一个CComboBox成员变量:(Class Wizard -> Member Variables Tab -> Add Variable ),然后将CComboBox改为CXTFlatComboBox。成员变量主要是用来对组合框进行控制。

本文例子是一个典型的基于对话框的程序,对话框里有两个组合框,每个组合框都有一个复选按钮控制其屏蔽状态,可编辑的组合框还带一个“自动完成”的功能控制。图一是本文例子程序的运行画面:

图一 例子程序

下面是程序代码的简单的说明:

头文件:

例子程序的两个组合框式样分别为Droplist 和 Dropdown,它们的区别就不用多说了,前者可以输入内容,后者则不能。

//{{AFX_DATA(CFlatComboDemoDlg)
enum { IDD = IDD_FLATCOMBODEMO_DIALOG };
//声明类实例成员变量
CXTFlatComboBox  m_DDCombo;
CXTFlatComboBox  m_DLCombo;
//声明其它的成员变量
BOOL  m_bDDAutoComp;
BOOL  m_bDDDisable;
BOOL  m_bDLDisable;
//}}AFX_DATA

时间: 2016-01-19

VC如何实现Office式样的扁平组合框的相关文章

vc++6.0mfc-vc++6.0如何实现点击组合框列表里的项响应相应消息?

问题描述 vc++6.0如何实现点击组合框列表里的项响应相应消息? 我想实现,在模态对话框编辑框里输入几个值,然后点击确定按钮将其添加到组合框列表中,当点击组合框列表里刚添加的项时响应相应消息(如:我在模态对话框四个编辑框中输入a.b.c.d,然后点击确定按钮,将a.b.c.d添加到组合框列表里,当点击组合框列表a时,提示你点击了a,当点击b时,提示你点击b--c,d,f,g也同上).我只是个新手,望大神们详解! 解决方案 CString str; int i = m_list->GetCurS

VC颜色选择组合框

本文代码执行效果: 大家对Word一定非常熟悉吧,它里面的东东可真不少,不管是活泼可爱的"大眼夹",还是各种平面造型的Windows控件我都很喜欢.那么这次就让我们来做个非常常用的控件:"颜色组合框".如果你现在正在做关于字处理类的软件时我想这个东东一定对你有用,哈哈!还是废话少说,让我们转入正题! 一.基本过程 (1) 首先,打开VC++新建一个基于对话框的空白工程.这个我就不用多做介绍了吧. (2) 往界面上拉一个ComboBox控件吧,然后不要忘了声明相应的类

VC/MFC 工具栏上动态添加组合框等控件的方法

引言 工具条作为大多数标准的Windows应用程序的一个重要组成部分,使其成为促进人机界面友好的一个重要工具.通过工具条极大方便了用户对程序的操作,但是在由Microsoft Visual C++开发环境所创建的应用程序框架中的工具条只是一个简单的按钮的集合,在功能上也仅仅是起到了菜单快捷方式的作用,而没有做到象VC.Word等软件的工具条那样,提供多种不同类型的标准控件如组合框.编辑框等.尤其是组合框在添加到工具条上后,可将原本需要在弹出对话框中完成的交互操作在工具条上就可以进行,从而在很大程

vc++6.0-VC++6.0 MFC基于对话框组合框中内容的判断

问题描述 VC++6.0 MFC基于对话框组合框中内容的判断 是这样的,我在模态对话框编辑框中输入一个值,点击确定添加到组合框项中,我想通过点击选择刚输入的项来实现某种功能.(*因为每次输入的值不同,这项的内容不同就不好判断了*)请高手指点应该怎么做?敬请详解 解决方案 int iPos=((CComboBox*)GetDlgItem(IDC_COMBO_CF))->GetCurSel(); //当前选中的行.

vc++6.0mfc-vc++6.0如何实现在模态对话框编辑框中输入数据,单击确定按钮将数据添加到组合框按钮中!

问题描述 vc++6.0如何实现在模态对话框编辑框中输入数据,单击确定按钮将数据添加到组合框按钮中! vc++6.0如何实现在模态对话框编辑框中输入数据,单击确定按钮将数据添加到组合框按钮中!我'是个新手,请求详解! 解决方案 添加编辑框,组合框 ctrl+w映射两个成员变量,一个对应编辑框(比如m_edit1),一个对应组合框(比如m_combo1),添加一个按钮. 双击按钮,编写 UpdateData(true); m_combo1.AddString(m_edit1); 解决方案二: 大神

VC++:选择组合框中的条件实现对access数据库文件的自动查询并显示到编辑框中

问题描述 VC++:选择组合框中的条件实现对access数据库文件的自动查询并显示到编辑框中 请教下大家:如标题 当鼠标选择组合框下拉列表中的条件时,自动根据下拉框条件查询ACCES数据库中的数据,并将查询的结果显示到编辑框中去,谢谢! 解决方案 http://blog.csdn.net/wenluderen/article/details/39029649 解决方案二: http://blog.csdn.net/yunqi415/article/details/6963720

重新取回值-VC++6.0 MFC 使用组合框如何返回取值的问题

问题描述 VC++6.0 MFC 使用组合框如何返回取值的问题 我用VC++6.0 MFC 做一个简单的个人信息系统登记系统,在登记记录时,对个性别男女用了组合框,登记时默认选项是男只要 m_ecombo.SetCurSel(0);这个函数里的变量只要是0就可以了,通赤数据库操作,追加进入数据库表了,但当你将这条记录调出修改时,同样需要这个组合框识别,这里我用了以下的操作 CRecEdit dlg; dlg.m_ecombo.InsertString(0,"男"); _dlg.m_ec

VC++通过选择组合框条件自动查询数据库,并将查询结果显示到编辑框

问题描述 VC++通过选择组合框条件自动查询数据库,并将查询结果显示到编辑框 问题如标题,目前编写代码如下,但选择组合框条件后没反应 代码如下,诚盼大家指教,我是编程爱好者,为自己做需,谢谢!: CShiYinShaSet rs; UpdateData(); CString strSQL; //ShiYinSha:数据库中表名: //PiCi:表中列名: //Si_Pi:组合框ID变量,CString Si_Pi strSQL.Format("select * from ShiYinSha wh

vc++-关于MFC中组合框的应用问题

问题描述 关于MFC中组合框的应用问题 我使用组合框添加了1~5个数字,想代表实际应用中的5个运动轴,那么应该如何编写这个组合框的函数,可以使当在组合框中选中"1"时,可以是程序关联到我的运动轴一. 解决方案 组合问题及应用 解决方案二: 轴号: int num=2; 组合框关联控件变量:m_ComboBox 在对话框初始化函数加入: CString str; for(int i=0; i<5; i++) { str.Format("%d",i+1); m_C