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;
}