我实现了一个类:class CRichEditCtrlEx : public CRichEditCtrl
{
//...
afx_msg void OnPaint();
//...
}
void CRichEditCtrlEx::OnPaint()
{
CRichEditCtrl::OnPaint();
CClientDC dc(this);
CRect rect;
GetClientRect(rect);
CBrush brushFrame(RGB(0,0,255));
dc.FrameRect(&rect,&brushFrame);// 画边框
}描述:界面打开的时候界面显示正常,但是当在RichEdit输入文字时下方的边线会重叠在一起或者像图片上这样出现两张直线,请问如何解决?谢谢
{
//...
afx_msg void OnPaint();
//...
}
void CRichEditCtrlEx::OnPaint()
{
CRichEditCtrl::OnPaint();
CClientDC dc(this);
CRect rect;
GetClientRect(rect);
CBrush brushFrame(RGB(0,0,255));
dc.FrameRect(&rect,&brushFrame);// 画边框
}描述:界面打开的时候界面显示正常,但是当在RichEdit输入文字时下方的边线会重叠在一起或者像图片上这样出现两张直线,请问如何解决?谢谢
改成:CRect rect;
GetWindowRect(rect);
ScreenToClient(rect);不行,和没改之前的效果一样。
另外,当RichEdit有垂直滚动条的时候,如果拖动滚动条那么会出现很多边框线粘在一起。
{
CRichEditCtrl::OnPaint();
CClientDC dc(this);
CRect rect;
GetWindowRect(rect);
rect.left-=1;
rect.top-=1;
rect.right+=1;
rect.bottom+=1;
ScreenToClient(rect);
dc.Draw3dRect(rect,RGB(0,0,255),RGB(0,0,255));
}