CCustomBitmapButton-MFC位图按钮位图按钮-源码源码
介绍介绍
CCustomBitmapButton是从CWnd类派生的MFC控件。 该按钮分为两部分:背景和前景。 如果操作系统是WinXP,并且XP主题
已启用,则背景是从当前活动主题资源文件加载的位图(我使用类似的技术来绘制CCustomTabCtrl控件中的滚动按钮),
否则使用“ DrawFrameControl ”函数绘制按钮背景。 前景是在按钮背景上透明绘制的用户定义的单色位图(字形)。
支持的功能:支持的功能:
标准或XP主题视图
12种预定义的背景样式
用户定义的前景(位图字形)
支持的按钮状态:“正常”,“热”,“按下”和“禁用”
可以在标题栏区域中创建按钮
字幕按钮的对话框,SDI和MDI支持
无闪烁绘图
内置工具提示
使用代码使用代码
要将CCustomBitmapButton类作为标题框架集成到您的应用程序中,请按照以下步骤操作:
1. 将ThemeUtil.h , ThemeUtil.cpp , CustomBitmapButton.h , CustomBitmapButton.cpp ,
Tmschema.h和Schemadef.h
添加
到您的项目中。
2. 将CustomBitmapButton.h包含在适当的头文件中-通常是使用类CCustomBitmapButton对话框类头。
// CustomBitmapButtonDemoDlg.h : header file
#include "CustomBitmapButton.h"
3. 声明m_ctrlCaptionFrame类型的对象CCustomBitmapButton在对话框标题。
// CustomBitmapButtonDemoDlg.h : header file
class CCustomBitmapButtonDemoDlg : CDialog
{
......
private:
CCustomBitmapButton m_ctrlCaptionFrame;
};
4. 创建标题框架。
在对话框的OnInitDialog ,添加以下代码:
// CustomBitmapButtonDemoDlg.cpp : definition file
m_ctrlCaptionFrame.CreateCaptionFrame(this,IDR_MAINFRAME);
5. 创建标题框架后,根据需要添加任意数量的按钮。
要添加字幕按钮,请在对话框的OnInitDialog调用AddCaptionButton :
// CustomCaptionButtonDemoDlg.cpp : definition file
m_ctrlCaptionFrame.AddCaptionButton(CRect(0,0,0,0),1,
CBNBKGNDSTYLE_CLOSE, FALSE);
m_ctrlCaptionFrame.AddCaptionButton(CRect(0,0,150,0),2,
CBNBKGNDSTYLE_CAPTION, TRUE);
CCustomBitmapButton* pBn1 = m_ctrlCaptionFrame.GetCaptionButtonPtr(1);
if(pBn1)
{
CBitmap bmpGlyph1;
bmpGlyph1.LoadBitmap(IDB_GLYPH1);
pBn1->SetGlyphBitmap(bmpGlyph1);
pBn1->SetTooltipText(_T("Double click to close the window,
Right click to display the popup menu"));
}
CCustomBitmapButton* pBn2 = m_ctrlCaptionFrame.GetCaptionButtonPtr(2);
if(pBn2)
{
评论0