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

鸭梨的朋友

鸭梨的朋友

2016-01-29 12:03

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

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


作者/NorthTibet

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/cyuyanjiaocheng/)

下载源代码


    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 };//声明类实例成员变量CXTFlatComboBoxm_DDCombo;CXTFlatComboBoxm_DLCombo;//声明其它的成员变量BOOLm_bDDAutoComp;BOOLm_bDDDisable;BOOLm_bDLDisable;//}}AFX_DATA      
实现文件:在 DoDataExchange(CDataExchange* pDX)函数中实现对话框里控制之间的数据交换。
//{{AFX_DATA_MAP(CFlatComboDemoDlg)DDX_Control(pDX, IDC_DROPDOWN_COMBO, m_DDCombo);DDX_Control(pDX, IDC_DROPLIST_COMBO, m_DLCombo);DDX_Check(pDX, IDC_DROPDOWN_AUTOCOMP, m_bDDAutoComp);DDX_Check(pDX, IDC_DROPDOWN_DISABLE, m_bDDDisable);DDX_Check(pDX, IDC_DROPLIST_DISABLE, m_bDLDisable);//}}AFX_DATA_MAP      
消息映射函数代码:
BEGIN_MESSAGE_MAP(CFlatCmboxDlg, CDialog)//{{AFX_MSG_MAP(CFlatCmboxDlg)ON_WM_SYSCOMMAND()ON_BN_CLICKED(ID_APP_ABOUT,OnAbout)ON_WM_PAINT()ON_WM_QUERYDRAGICON()ON_BN_CLICKED(IDC_DROPDOWN_DISABLE, OnDropdownDisable)ON_BN_CLICKED(IDC_DROPLIST_DISABLE, OnDroplistDisable)ON_BN_CLICKED(IDC_DROPDOWN_AUTOCOMP, OnDropdownAutocomp)ON_WM_CTLCOLOR()//}}AFX_MSG_MAPEND_MESSAGE_MAP()      
例子程序里OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 是 WM_CTLCOLOR 消息的处理例程,通过它可以改变对话框子窗口(也就是对话框里的各个控制如按钮、编译框、组合框等)的字体颜色和背景颜色。有一点要注意:运行一下例子程序就会发现,程序中式样为 Dropdown 的组合框其字体颜色和背景颜色改变代码不工作。一时还没找到好的办法。如果哪位知道,别忘了告诉我.......
展开更多 50%)
分享

猜你喜欢

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

C语言教程 C语言函数
如何实现Office式样的扁平组合框

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

编程语言 网络编程
VC如何实现Office式样的扁平组合框

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

颜色选择组合框

C语言教程 C语言函数
颜色选择组合框

VC颜色选择组合框

编程语言 网络编程
VC颜色选择组合框

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

WPS Office文档如何插入文本框?

手机软件 应用软件
WPS Office文档如何插入文本框?

式样单的例子

Html CSS布局 Div+CSS XHTML
式样单的例子

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

国产CAD软件构筑产业联盟

国产CAD软件构筑产业联盟

安装AutoCAD 2004

安装AutoCAD 2004
下拉加载更多内容 ↓