怎么改变CEdit里的字的字体和颜色,还有行高等属性啊??

解决方案 »

  1.   

    如果说是字体和颜色,使用setfont可以,但是,其他的稍微高级点的属性,使用cedit就力不从心了,你为什么不考虑使用cricheditctrl呢 ?  基本上 你需要的高级属性,他都能满足
      

  2.   

    www.codeproject.com
    上面选择 mfc--->edit 里面有很多的例子!
      

  3.   

    对于EditBox,很多格式无法实现重载。
      

  4.   

    我就只想改字体和颜色,怎么用SetFont,能说具体些嘛?谢谢了
      

  5.   

    http://www.codeguru.com/cpp/controls/richedit/article.php/c2411/
      

  6.   

    改变字体色及背景色:
    HBRUSH CAboutDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
    {
      if ((pWnd->GetDlgCtrlID() == IDC_EDIT1) && (nCtlColor == CTLCOLOR_EDIT))
      {
          COLORREF clr = RGB(255,0,0);
          pDC->SetTextColor(clr);   //设置红色的文本
          clr = RGB(0,0,0);
          pDC->SetBkColor(clr);     //设置黑色的背景
          m_brMine = ::CreateSolidBrush(clr);
          return m_brMine;  //作为约定,返回背景色对应的刷子句柄
      }
      else
      {
          HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
          return hbr;
      }
    }改变行高:SetWindowPos
    改变字体:参考:
    void CTestDlgDlg::SetFont(int BtnID, int FontSize)
    {
    // 获取按钮的句柄
    CWnd *pWnd = GetDlgItem(BtnID); // 获取按钮的原来字体设置
    CDC* pDC = pWnd->GetDC();
    CPen* pen = new CPen(PS_SOLID, 1, RGB(0, 0, 255));
    CPen* pOldPen = pDC->SelectObject(pen); CFont *pFont = pWnd->GetFont();
    LOGFONT lf;
    pFont->GetLogFont(&lf); // 改变字体大小设置,并且创建新的字体对象
    lf.lfHeight = FontSize;    
    lf.lfUnderline = TRUE;
    strcpy(lf.lfFaceName, "黑体");

    pNewFont = new CFont; // 注意把CFont* pNewFont; 放在类成员中,在析构函数中delete
    pNewFont->CreateFontIndirect(&lf);
    // 通过句柄设置按钮的字体
      pWnd->SetFont(pNewFont);
    }