MFC改变static text颜色和内容 - 小众知识

MFC改变static text颜色和内容

2015-08-08 10:50:50 苏内容
  标签: MFC/static/颜色
阅读:5707

1. 打开资源视图。

2. 双击打开STATIC所在的对话框。

3. 修改STATIC的ID属性,这里假设为IDC_STATICMessage。

4.为对话框添加类,假设为CMyDialog.

5. 选择对话框,在属性面板上点击消息,并选择WM_CTLCOLOR。

6.在对话框对应类的CPP中会新增下面的代码:

HBRUSH DataSummaryDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
     BRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
     //添加自己的代码
     return hbr;
}

7. 在上面的代码中添加修改IDC_TEXT文本颜色的代码,如下:

HBRUSH DataSummaryDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
     BRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
      if (pWnd->GetDlgCtrlID() == IDC_STATICMessage)
     {
         pDC->SetTextColor(RGB(0, 0, 250));
     }

    return hbr;
}

同样的方法可应用于修改字体。

 

动态改变字体内容,使用

GetDlgItem(IDC_STATICMessage)->SetWindowText("I LOVE YOU");

一、关于编辑框的赋值和取值

向编辑框中赋值和取值时

1、建一个 控制型的变量,如m_edit1,用CWnd的SetWindowText() 和GetWindowText()来赋值和取值。

m_Edit1.SetWindowText("Hello"); 

或者GetDlgItem(IDC_EDIT1)->SetWindowText(str);

2、建立一个控制型的变量,如m_edit1,用SetDlgItemText()和GetDlgItemText()来赋值和取值

CString Str="Hello":

m_edit1.SetDlgItemText(IDC_EDIT1,str);

3、直接建一个   数值形的变量   如m_strEdit;   用 UpdateData()来控制得到变量,还是更新变量。

//取值  
UpdateData(TRUE);  
CString   buf   =   m_Edit1;  

//赋值  
m_Edit1="ok!";  
UpdateData(FALSE);

扩展阅读
相关阅读
© CopyRight 2010-2021, PREDREAM.ORG, Inc.All Rights Reserved. 京ICP备13045924号-1