如何设置一个编辑框中输入文本的颜色、字体等属性,我用了如下的代码可是不管:
CFont* pFont = NULL; CFont Font;
CFontDialog dlgFont;
if (dlgFont.DoModal() == IDOK)
{
   LOGFONT lf;
   memcpy(&lf, dlgFont.m_cf.lpLogFont, sizeof(LOGFONT));
   Font.CreateFontIndirect(&lf);
} m_edit.SetFont(&Font);
    最好能给出代码样例。

解决方案 »

  1.   

    重载OnCtlColor函数
    pBr=new CBrush(RGB(255,0,0));//在构造函数或其它地方添加 if(pWnd->GetDlgCtrlID()==IDC_SAMPLE)
    {
    pDC->SetTextColor(RGB(255,0,0));
    }
    else if(pWnd->GetDlgCtrlID()==IDC_EDIT_WIDTH)
    {
    pDC->SetBkMode(TRANSPARENT);
    return (HBRUSH)pBr->m_hObject;
    }
      

  2.   

    这只是与颜色相关的属性,我还需要设置文本所用的字体、风格等属性,为什么不用CFontDialog呢?
      

  3.   

    字体也可以在这里修改
    if(pWnd->GetDlgCtrlID()==IDC_TEXT_MYBOLE)
    {
    pDC->SelectObject(pFont);
    pDC->SetBkMode(TRANSPARENT);
    pDC->SetTextColor(RGB(255,0,0));
    }
      

  4.   

    自己派生CEdit岂不是更好?处理OnEraseBkgnd(CDC* pDC),加上一些背景图片不是更有意思:),当然还需同时处理OnGetDlgCode() ^_^。