MFC--CColorDialog的使用
2012-05-07 11:05:32| 分类: 学习mfc/c++ | 标签: |字号大中小 订阅
COLORREF m_color;
创建一个按钮,用来调用CColorDialog,用以改变静态文本的颜色,(静态文本需改变ID才可以对静态文本进行文本的编辑)m_myStaticEdit="hellonihao";//
m_color=RGB(255,0,0);初始化颜色变量
 GetDlgItem(IDC_MY_STATIC)->InvalidateRect(NULL);创新刷一遍窗口
 UpdateData(FALSE);
 
void CMyDlg::OnButton1() { // TODO: Add your control notification handler code here CColorDialog colorDia; if (colorDia.DoModal()==IDOK) { m_color=colorDia.GetColor(); GetDlgItem(IDC_MY_STATIC)->InvalidateRect(NULL); } }
HBRUSH CMyDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
 {
 HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
 
 // TODO: Change any attributes of the DC here
 UpdateData(TRUE);                                                  //
 if (pWnd->GetDlgCtrlID()==IDC_MY_STATIC) //判断是静态文本
 {
 pDC->SetTextColor(m_color);
 }
 
 UpdateData(FALSE);
 
 // TODO: Return a different brush if the default is not desired
 return hbr;
 }