我想给RichEdit控件绘制边界,在OnPaint()函数里加入如下代码:CPaintDC dc(this); // device context for painting CRect rect;
::GetWindowRect(this->m_hWnd,&rect);
ScreenToClient(&rect);
CPen pen,*oldpen;
pen.CreatePen(PS_SOLID,1,RGB(0,0,0));
oldpen=dc.SelectObject(&pen);
dc.MoveTo(rect.left-1,rect.top-1);
dc.LineTo(rect.right+1,rect.top-1);
dc.LineTo(rect.right+1,rect.bottom+1);
dc.LineTo(rect.left-1,rect.bottom+1);
dc.LineTo(rect.left-1,rect.top-1);
dc.SelectObject(oldpen);
边界出来了,但是输入区域是灰色的,并且输入的内容是一道道的竖杠(|||||),该怎么才可以正确的绘制呢?
::GetWindowRect(this->m_hWnd,&rect);
ScreenToClient(&rect);
CPen pen,*oldpen;
pen.CreatePen(PS_SOLID,1,RGB(0,0,0));
oldpen=dc.SelectObject(&pen);
dc.MoveTo(rect.left-1,rect.top-1);
dc.LineTo(rect.right+1,rect.top-1);
dc.LineTo(rect.right+1,rect.bottom+1);
dc.LineTo(rect.left-1,rect.bottom+1);
dc.LineTo(rect.left-1,rect.top-1);
dc.SelectObject(oldpen);
边界出来了,但是输入区域是灰色的,并且输入的内容是一道道的竖杠(|||||),该怎么才可以正确的绘制呢?
{
CRichEditCtrl::OnPaint();
CClientDC dc(this); // 注意不要用PaintDC. CRect rect;
GetClientRect(&rect);
CPen pen,*oldpen;
pen.CreatePen(PS_SOLID,1,RGB(0,0,0));
oldpen=dc.SelectObject(&pen);
dc.MoveTo(rect.left-1,rect.top-1);
dc.LineTo(rect.right+1,rect.top-1);
dc.LineTo(rect.right+1,rect.bottom+1);
dc.LineTo(rect.left-1,rect.bottom+1);
dc.LineTo(rect.left-1,rect.top-1);
dc.SelectObject(oldpen);
}