请问我想在程序里面动态的改变在FormView 里面的一个static text的背景及字体颜色,应该如何做?(万望给提供点原码)
谢谢!

解决方案 »

  1.   

    添加变量
    COLORREF m_clrText, m_clrBack;
    BOOL m_bModify;修改函数:
    void CMyFormView::OnSet() 
    {
    // TODO: Add your control notification handler code here
    CWnd* pCtrl = GetDlgItem(IDC_MY);
    ASSERT(pCtrl);
    m_clrText = RGB(255,0,0);
    m_clrBack = RGB(0, 255, 0);
    m_bModify = TRUE;
    pCtrl->RedrawWindow();

    }
    设置背景
    HBRUSH CMyFormView::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
    {
    HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

    // TODO: Change any attributes of the DC here
    if(nCtlColor == CTLCOLOR_STATIC && pWnd->GetDlgCtrlID() == IDC_MY && m_bModify == TRUE)
    {
    pDC->SetBkMode(TRANSPARENT);
    pDC->SetTextColor(m_clrText);
    m_bModify = FALSE;
    return CreateSolidBrush(m_clrBack);
    }

    // TODO: Return a different brush if the default is not desired
    return hbr;
    }
      

  2.   

    谢谢 SoLike() !!!按照您的指导实现了。