1.在VC 开发环境的资源编辑器里可将要显示的BMP 位图文件加载到资源中,并用资源ID 来标识它,在应用的视类的成员函数OnDraw(CDC 3 pDC) 中显示,如:
CDC 3 hMemDC = new CDC;
Cbitmap 3 hBitmap = new Cbitmap
hBitmap = LoadBitmap ( ID-BMPSOURCE) / / ID-BMPSOURCE 为资源ID
hMemDC - > CreateCompatibleDC(pDC)
hMemDC - > SelectObject (hBitmap)
pDC - >BitBlt (0 ,0 ,nWidth ,nHeight ,hMemDC ,0 ,0 ,SRCCOPY)
由于ID-BMPSOURCE 为资源ID ,BMP 位图文件不能在应用运行时装入
====================================
2.//放在OnPaint()里
{//设置背景图片
CRect rect;
GetClientRect(&rect);
CDC *pDC=GetDC();
CDC memdc;
memdc.CreateCompatibleDC(pDC);
CBitmap bitmap;
//从资源中载入位图
bitmap.LoadBitmap(IDB_BITMAP1);
memdc.SelectObject(bitmap);
pDC->BitBlt(0,0,rect.Width(),rect.Height(),&memdc,0,0,SRCCOPY);
}
实现多颜色边框的编辑框Edit
新建一个建立对话框的应用程序,向窗体中添加8个编辑框控制。
通过New Class窗口生成一个新类CColourEdit,基类为CEdit。添加一个COLORREF类型的成员变量 m_Colour。
HBRUSH CColourEdit::CtlColor(CDC* pDC, UINT nCtlColor)
{
CDC* dc = GetDC(); //获取画布对象
CRect rect;
GetClientRect(rect); //获取客户区域
rect.InflateRect(1,1,1,1);//将客户区域增大一个像素
CBrush brush (m_Colour);//创建画刷
dc->FrameRect(rect,&brush);//绘制边框
return NULL;
}