📄 cbuttonst_dlg.cpp
字号:
// CButtonST_Dlg.cpp : 实现文件
//
#include "stdafx.h"
#include "CButtonST_demo.h"
#include "CButtonST_Dlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
// CButtonST_Dlg 对话框
CButtonST_Dlg::CButtonST_Dlg(CWnd* pParent /*=NULL*/)
: CDialog(CButtonST_Dlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CButtonST_Dlg)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
void CButtonST_Dlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CButtonST_Dlg)
// NOTE: the ClassWizard will add DDX and DDV calls here
//}}AFX_DATA_MAP
DDX_Control(pDX, IDC_ZIP256, m_btnZip256);
}
BEGIN_MESSAGE_MAP(CButtonST_Dlg, CDialog)
//{{AFX_MSG_MAP(CButtonST_Dlg)
ON_BN_CLICKED(IDC_ABOUT16, OnAbout)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
// CButtonST_Dlg 消息映射函数
BOOL CButtonST_Dlg::OnInitDialog()
{
CDialog::OnInitDialog();
// 为对话框设置图标
SetIcon(m_hIcon, TRUE); // 设置大图标
SetIcon(m_hIcon, FALSE); // 设置小图标
// 创建256色ZIP按钮
// subclass已由DoDataExchange调用!
// m_btnZip256.SubclassDlgItem(IDC_ZIP256, this);
m_btnZip256.SetIcon(IDI_ZIPSMALL256, IDI_ZIP256); // 32x32 icon
// 创建256色Hand按钮
m_btnHand256.SubclassDlgItem(IDC_HAND256, this);
m_btnHand256.SetIcon(IDI_HAND256);
// 创建256色Lamp按钮
m_btnLamp256.SubclassDlgItem(IDC_LAMP256, this);
m_btnLamp256.SetIcon(IDI_LAMP256, IDI_LAMP2);
//不画边框
m_btnLamp256.DrawBorder(FALSE);
// 创建256色CD按钮
m_btnCDGold256.SubclassDlgItem(IDC_CDGOLD256, this);
m_btnCDGold256.SetIcon(IDI_CDGOLD256);
// 不画边框
m_btnCDGold256.DrawBorder(FALSE);
// 创建256色Ok按钮
m_btnOk256.SubclassDlgItem(IDC_OK256, this);
m_btnOk256.SetIcon(IDI_OK256);
// 创建256色Cancel按钮
m_btnCancel256.SubclassDlgItem(IDC_CANCEL256, this);
m_btnCancel256.SetIcon(IDI_CANCEL256);
// 创建16色Ok按钮
m_btnOk16.SubclassDlgItem(IDC_OK16, this);
m_btnOk16.SetIcon(IDI_OK16);
// 创建16色Cancel按钮
m_btnCancel16.SubclassDlgItem(IDC_CANCEL16, this);
m_btnCancel16.SetIcon(IDI_CANCEL16);
// 创建16色OkBor按钮
m_btnOkBor16.SubclassDlgItem(IDC_OKBOR16, this);
m_btnOkBor16.SetIcon(IDI_OKBOR16, IDI_OKBOR2);
m_btnOkBor16.SetActiveBgColor(RGB(220,220,220));
// 创建16色CancelBor按钮
m_btnCancelBor16.SubclassDlgItem(IDC_CANCELBOR16, this);
m_btnCancelBor16.SetIcon(IDI_CANCELBOR16, IDI_CANCELBOR2);
m_btnCancelBor16.SetActiveBgColor(RGB(220,220,220));
// 创建16色Explore按钮
m_btnExplore16.SubclassDlgItem(IDC_EXPLORE16, this);
m_btnExplore16.SetIcon(IDI_EXPLORE16);
// 创建16色View按钮
m_btnView16.SubclassDlgItem(IDC_VIEW16, this);
m_btnView16.SetIcon(IDI_VIEW16);
// 创建16色Text按钮
m_btnText16.SubclassDlgItem(IDC_TEXT16, this);
m_btnText16.SetIcon(IDI_TEXT16);
// 创建16色Question按钮
m_btnQuestion16.SubclassDlgItem(IDC_QUESTION16, this);
m_btnQuestion16.SetIcon(IDI_QUESTION16);
// 创建16色Left箭头按钮
m_btnLeft16.SubclassDlgItem(IDC_LEFT16, this);
m_btnLeft16.SetIcon(IDI_LEFT16);
// 创建16色Right箭头按钮
m_btnRight16.SubclassDlgItem(IDC_RIGHT16, this);
m_btnRight16.SetIcon(IDI_RIGHT16);
// 创建16色Screw按钮
m_btnScrew16.SubclassDlgItem(IDC_SCREW16, this);
m_btnScrew16.SetIcon(IDI_SCREW16);
// 设置彩色效果
m_btnScrew16.SetActiveFgColor(RGB(255,0,0));
m_btnScrew16.SetInactiveFgColor(RGB(0,255,0));
// 创建16色Exit按钮
m_btnExit16.SubclassDlgItem(IDOK, this);
m_btnExit16.SetIcon(IDI_EXIT16);
// 该按钮为标准按钮
m_btnExit16.SetFlat(FALSE);
// 设置光标
m_btnExit16.SetBtnCursor(IDC_HAND);
// 创建16色About按钮
COLORREF crStandard = m_btnExit16.GetInactiveBgColor();
m_btnAbout16.SubclassDlgItem(IDC_ABOUT16, this);
m_btnAbout16.SetIcon(IDI_ABOUT16);
// 设置为图标在上,文本在下
m_btnAbout16.SetAlign(CButtonST::ST_ALIGN_VERT);
// 设置彩色效果
m_btnAbout16.SetInactiveBgColor(crStandard - RGB(20,20,20));
m_btnAbout16.SetActiveBgColor(crStandard + RGB(20,20,20));
// 创建256色Baloon按钮
m_btnBaloon256.SubclassDlgItem(IDC_BALOON256, this);
m_btnBaloon256.SetIcon(IDI_BALOON256);
// 色绘制工具提示
// 可使用 ActivateTooltip(...)允许/禁止
m_btnBaloon256.SetTooltipText(IDS_TT_BALOON);
// 版本信息
CString sVersion;
sVersion.Format("CButtonST v%s 测试", CButtonST::GetVersionC());
SetWindowText(sVersion);
return TRUE;
}
void CButtonST_Dlg::OnAbout()
{
CAboutDlg about;
// 隐藏主窗口
ShowWindow(FALSE);
about.DoModal();
// 显示主窗口
ShowWindow(TRUE);
m_btnOk16.EnableWindow(TRUE);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -