最近在做一个小说编辑器,要实现一个给richtextbox添加背景图片并且图片透明化的功能。
在网上搜索了很多资料,说是要给richtextbox添加子类并且处理控件的EraseBkgnd消息,于是写了如下代码:
BOOL CRichText::OnEraseBkgnd(CDC* pDC)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
CBitmap bmp;
CDC bmpdc;
BITMAP b;
CRect rect;
GetClientRect(rect);
bmp.LoadBitmap(IDB_BITMAPBG);
bmp.GetBitmap(&b);
bmpdc.CreateCompatibleDC(pDC);
bmpdc.SelectObject(bmp);
pDC->StretchBlt(0,0,rect.Width(),rect.Height(),&bmpdc,0,0,b.bmWidth,b.bmHeight,SRCCOPY);
//return CWnd::OnEraseBkgnd(pDC);
return true;
}
发现并没有实现,而且一点改变都没有。不知道有没有高手实现过这个功能的?可以先实现添加背景图片的功能,透明化的问题再处理也可以。