⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cbuttonst_dlg.cpp

📁 《突破Visual C++.NET编程实例五十讲+源文件,初学者学习的好东东!
💻 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 + -