📄 buttonsdlg.cpp
字号:
// ButtonsDlg.cpp : implementation file
//
#include "stdafx.h"
#include "ControlsDemo.h"
#include "ButtonsDlg.h"
// CButtonsDlg dialog
IMPLEMENT_DYNAMIC(CButtonsDlg, CDialog)
CButtonsDlg::CButtonsDlg(CWnd* pParent /*=NULL*/)
: CDialog(CButtonsDlg::IDD, pParent)
{
}
CButtonsDlg::~CButtonsDlg()
{
}
void CButtonsDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Radio(pDX, IDC_BTN_YES, m_iAnswer);
DDX_Check(pDX, IDC_CHECK1, m_iCheck1);
DDX_Check(pDX, IDC_CHECK2, m_iCheck2);
DDX_Check(pDX, IDC_CHECK3, m_iCheck3);
DDX_Control(pDX, IDC_BUTTON1, m_fancyButton);
DDX_Control(pDX, IDC_DISABLED, m_btnDisabled);
}
BEGIN_MESSAGE_MAP(CButtonsDlg, CDialog)
ON_BN_CLICKED(IDC_CREDITCARD, OnBnClickedCreditcard)
ON_BN_CLICKED(IDC_CASH, OnBnClickedCash)
ON_BN_CLICKED(IDC_CHECK, OnBnClickedCheck)
ON_BN_CLICKED(IDOK, OnBnClickedOk)
ON_BN_CLICKED(IDC_DISABLED, OnBnClickedDisabled)
ON_BN_CLICKED(IDC_DISABLED2, OnBnClickedDisabled2)
ON_BN_CLICKED(IDC_GET_RADIOBUTTON_VALUES, OnBnClickedGetRadiobuttonValues)
ON_BN_CLICKED(IDC_GET_CHECKBOX_VALUES, OnBnClickedGetCheckboxValues)
END_MESSAGE_MAP()
void CButtonsDlg::OnBnClickedCreditcard()
{
CWnd* pWnd;
pWnd = GetDlgItem(IDC_CARDNUMBER);
ASSERT(pWnd);
if (pWnd)
{
pWnd->EnableWindow(TRUE);
}
pWnd = GetDlgItem(IDC_EXPIRATION);
ASSERT(pWnd);
if (pWnd)
{
pWnd->EnableWindow(TRUE);
}
pWnd = GetDlgItem(IDC_CHECKNUMBER);
ASSERT(pWnd);
if (pWnd)
{
pWnd->EnableWindow(FALSE);
}
}
void CButtonsDlg::OnBnClickedCash()
{
CWnd* pWnd;
pWnd = GetDlgItem(IDC_CARDNUMBER);
ASSERT(pWnd);
if (pWnd)
{
pWnd->EnableWindow(FALSE);
}
pWnd = GetDlgItem(IDC_EXPIRATION);
ASSERT(pWnd);
if (pWnd)
{
pWnd->EnableWindow(FALSE);
}
pWnd = GetDlgItem(IDC_CHECKNUMBER);
ASSERT(pWnd);
if (pWnd)
{
pWnd->EnableWindow(FALSE);
}
}
void CButtonsDlg::OnBnClickedCheck()
{
CWnd* pWnd;
pWnd = GetDlgItem(IDC_CARDNUMBER);
ASSERT(pWnd);
if (pWnd)
{
pWnd->EnableWindow(FALSE);
}
pWnd = GetDlgItem(IDC_EXPIRATION);
ASSERT(pWnd);
if (pWnd)
{
pWnd->EnableWindow(FALSE);
}
pWnd = GetDlgItem(IDC_CHECKNUMBER);
ASSERT(pWnd);
if (pWnd)
{
pWnd->EnableWindow(TRUE);
}
}
BOOL CButtonsDlg::OnInitDialog()
{
CDialog::OnInitDialog();
m_fancyButton.LoadBitmaps(IDB_UP, IDB_DOWN, NULL, IDB_DISABLED);
m_fancyButton.SizeToContent();
CButton* pBSBitmapBtn = (CButton*)GetDlgItem(IDC_BTSBITMAP);
ASSERT(pBSBitmapBtn);
if (pBSBitmapBtn)
{
VERIFY(m_bmpBSBitmap.LoadBitmap(IDB_UP));
HBITMAP hbmp = (HBITMAP)m_bmpBSBitmap.GetSafeHandle();
pBSBitmapBtn->SetBitmap(hbmp);
}
CButton* pButton = (CButton*)GetDlgItem(IDC_CREDITCARD);
ASSERT(pButton);
if (pButton)
{
pButton->SetCheck(BST_CHECKED);
}
OnBnClickedCreditcard();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CButtonsDlg::OnBnClickedOk()
{
}
void CButtonsDlg::OnBnClickedDisabled()
{
if (UpdateData())
{
m_fancyButton.EnableWindow( BST_CHECKED != m_btnDisabled.GetCheck() ?
TRUE : FALSE);
}
}
void CButtonsDlg::OnBnClickedDisabled2()
{
if (UpdateData())
{
CButton* pBitmapButton = (CButton*)GetDlgItem(IDC_BTSBITMAP);
CButton* pCheckBox = (CButton*)GetDlgItem(IDC_DISABLED2);
ASSERT(pBitmapButton && pCheckBox);
if (pBitmapButton && pCheckBox)
{
if (BST_CHECKED == pCheckBox->GetCheck())
{
pBitmapButton->EnableWindow(FALSE);
}
else
{
pBitmapButton->EnableWindow(TRUE);
}
}
}
}
void CButtonsDlg::OnBnClickedGetRadiobuttonValues()
{
if (UpdateData())
{
CString str;
str.Format("Radio button values (%ld):\r\n\r\n"
"Yes = %s\r\n"
"No = %s\r\n"
"Maybe = %s",
m_iAnswer,
(0 == m_iAnswer ? "On" : "Off"),
(1 == m_iAnswer ? "On" : "Off"),
(2 == m_iAnswer ? "On" : "Off"));
AfxMessageBox(str);
}
}
void CButtonsDlg::OnBnClickedGetCheckboxValues()
{
if (UpdateData())
{
CString str;
str.Format("Check box values (%ld):\r\n\r\n"
"Checkbox #1 = %s\r\n"
"Checkbox #2 = %s\r\n"
"Checkbox #3 = %s",
m_iCheck1,
(1 == m_iCheck1 ? "On" : "Off"),
(1 == m_iCheck2 ? "On" : "Off"),
(1 == m_iCheck3 ? "On" : "Off"));
AfxMessageBox(str);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -