MFC 笔记

控件

radio button

在OnInitDialog()中设置RadioButton的初始选中状态,默认都处于未选中状态。

((CButton *)GetDlgItem(IDC_RADIO1))->SetCheck(TRUE);//选上  
((CButton *)GetDlgItem(IDC_RADIO2))->SetCheck(FALSE);//不选上  

check button

在OnInitDialog()中设置CheckButton的初始选中状态,默认都处于未选中状态。

((CButton *)GetDlgItem(IDC_CHECK1))->SetCheck(TRUE);//选上  ((CButton *)GetDlgItem(IDC_CHECK2))->SetCheck(FALSE);//不选上`

判断:

((CButton *)GetDlgItem(IDC_CHECK))->GetCheck() == 1  ;

二选一或二选零:

初始状态都为零Dlg.cpp
void CRelatedFileDlg::OnBnClickedCheckBase64(){
// TODO: 在此添加控件通知处理程序代码
if(((CButton*)GetDlgItem(IDC_CHECK_BASE64))->GetCheck() == FALSE)
    ((CButton*)GetDlgItem(IDC_CHECK_BASE64))->SetCheck(FALSE);
else {
    if(((CButton*)GetDlgItem(IDC_CHECK_MD5))->GetCheck() == TRUE){
        ((CButton*)GetDlgItem(IDC_CHECK_BASE64))->SetCheck(TRUE);
        ((CButton*)GetDlgItem(IDC_CHECK_MD5))->SetCheck(FALSE);
    }
    else
        ((CButton*)GetDlgItem(IDC_CHECK_BASE64))->SetCheck(TRUE);   }
}
void CRelatedFileDlg::OnBnClickedCheckMd5(){
// TODO: 在此添加控件通知处理程序代码
if(((CButton*)GetDlgItem(IDC_CHECK_MD5))->GetCheck() == FALSE)
    ((CButton*)GetDlgItem(IDC_CHECK_MD5))->SetCheck(FALSE);
else {
    if(((CButton*)GetDlgItem(IDC_CHECK_BASE64))->GetCheck() == TRUE){
        ((CButton*)GetDlgItem(IDC_CHECK_MD5))->SetCheck(TRUE);
        ((CButton*)GetDlgItem(IDC_CHECK_BASE64))->SetCheck(FALSE);
    }
    else
        ((CButton*)GetDlgItem(IDC_CHECK_MD5))->SetCheck(TRUE);

}
}

把对话框的数据传到其他类

在CyourDlg.h中添加变量

public: 
    int  m_name;

在CyourDlg.cpp中添加数据

m_name = abcdefg;

在其他类中添加CyourDlg对象

CyourDlg Dlg;
qqq = Dlg.m_name;//qqq为其他类的变量。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MFC中,OnCtrlColor是一个消息处理函数,用于控制对话框中控件的颜色。当对话框绘制控件时,将调用该函数来获取控件的背景色和文本色。 OnCtrlColor函数的原型如下: HBRUSH OnCtrlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor); 其中,pDC是与控件相关联的设备上下文,pWnd是指向控件的指针,nCtlColor是控件的类型。nCtlColor可以是以下之一: - CTLCOLOR_MSGBOX:消息框 - CTLCOLOR_EDIT:编辑框 - CTLCOLOR_LISTBOX:列表框 - CTLCOLOR_BTN:按钮 - CTLCOLOR_DLG:对话框 - CTLCOLOR_SCROLLBAR:滚动条 - CTLCOLOR_STATIC:静态文本 OnCtrlColor的返回值是一个HBRUSH类型的句柄,用于绘制控件的背景。如果返回NULL,则使用系统颜色作为控件的背景。 下面是一个OnCtrlColor函数的例子: ```cpp HBRUSH CMyDlg::OnCtrlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { switch (nCtlColor) { case CTLCOLOR_EDIT: pDC->SetTextColor(RGB(255, 0, 0)); // 设置文本颜色为红色 pDC->SetBkColor(RGB(255, 255, 255)); // 设置背景颜色为白色 return (HBRUSH)GetStockObject(WHITE_BRUSH); // 返回白色画刷 case CTLCOLOR_STATIC: pDC->SetTextColor(RGB(0, 0, 255)); // 设置文本颜色为蓝色 pDC->SetBkMode(TRANSPARENT); // 设置背景为透明 return (HBRUSH)GetStockObject(NULL_BRUSH); // 返回透明画刷 default: return CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor); // 调用默认处理函数 } } ``` 这个例子中,当控件类型为编辑框时,设置文本颜色为红色,背景颜色为白色,并返回一个白色画刷;当控件类型为静态文本时,设置文本颜色为蓝色,背景为透明,并返回一个透明画刷;对于其他控件类型,调用默认的处理函数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值