首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VC >

CEdit的子类后,输入文字重叠的有关问题

2012-03-18 
CEdit的子类后,输入文字重叠的问题为了方便修改CEdit的文字及背景色,写了子类CColorEdit.重载了CtlColorC/

CEdit的子类后,输入文字重叠的问题
为了方便修改CEdit的文字及背景色,写了子类CColorEdit.

重载了CtlColor

C/C++ code
HBRUSH CColorEdit::CtlColor(CDC* pDC, UINT nCtlColor){    pDC->SetTextColor(m_TextColor);    pDC->SetBkColor(m_TextBkColor);    return m_BrushBk;}


但是之后发现,输入文字后背景没有刷新,输多了就像重叠在一起一样,一片模糊,请问这个问题应该如何解决,谢谢。

[解决办法]
,是不是要窗体重画啊???
::SetBkMode(WindowDC,TRANSPARENT);
设CEdit的句柄是hwnd
::RedrawWindow(hwnd,NULL,NULL,RDW_INVALIDATE|RDW_ERASE|RDW_ERASENOW); //清空背景 

然后再加载文字,


[解决办法]
加上
CEdit::OnCtlColor(pDC,this,nCtlColor);
[解决办法]
.....onchange 试试,我不能完全保证
[解决办法]
m_BrushBk不要用空画刷,改成m_BrushBk.CreateSolidBrush(m_TextBkColor)。

热点排行