我重载了ONncpaint()绘制外框。
当我处理WM_MOUSEMOVE 和WM_MOUSELEAVE时对外框颜色切换的时候。框里的文字会被隐藏。而在OnPanit()重绘制文字的时候。发现字体和画笔不知道怎么才与原来的匹配起来。有没前辈处理过的?

解决方案 »

  1.   

    蓝色外框的字体是默认的。橙色框的字体我在onpaint里只设置了字体颜色void CCustomEdit::OnPaint()
    {
    CPaintDC dc(this); // device context for painting
    // TODO: 在此处添加消息处理程序代码
    // 不为绘图消息调用 CEdit::OnPaint()
    CString str;
    CPen pen;
    //pen.CreatePen(PS_SOLID,10,RGB(1,1,1));
    CFont font;
    //font.CreateStockObject()
    dc.SetTextColor(RGB(222,22,1)); //dc.SelectObject(&pen);
    GetWindowText(str);
    CRect rc;
    GetClientRect(rc);
    dc.DrawText(str,rc,DT_LEFT);
    }