设为首页 加入收藏

TOP

7.2 绘制视图背景
2013-10-07 00:36:32 来源: 作者: 【 】 浏览:62
Tags:7.2 绘制 背景

7.2  绘制视图背景

教学录像:光盘\TM\lx\7\绘制视图背景.exe

绘制视图的背景可以在视图类的OnDraw函数中进行。使用GetClientRect函数获得视图的客户区域。

语法格式如下:

void GetClientRect( LPRECT lpRect ) const;

其中,lpRect是指客户区域的大小。

调用CDC类的StretchBlt函数绘制视图的背景。

例7.1  绘制视图的背景。(实例位置:光盘\TM\sl\7\1)

步骤如下:

(1)创建一个单文档应用程序。

(2)选择工作区窗口中的ResourceView选项卡,导入一个位图资源。

(3)在视图类的OnDraw函数中绘制视图背景,代码如下。

void CDrawBKView::OnDraw(CDC* pDC)
{
CDrawBKDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
CBitmap m_Bitmap;            //声明CBitmap对象
m_Bitmap.LoadBitmap(IDB_BITMAP1);        //加载位图资源
CDC memDC;             //设备上下文
memDC.CreateCompatibleDC(pDC);        //创建内存设备上下文
memDC.SelectObject(&m_Bitmap);         //将位图选入设备上下文
BITMAP m_Bmp;            //声明BITMAP对象
m_Bitmap.GetBitmap(&m_Bmp);         //获得位图信息
int x = m_Bmp.bmWidth;           //获得位图的宽度
int y = m_Bmp.bmHeight;           //获得位图的高度
CRect rect;             //声明区域对象
GetClientRect(rect);            //获得编辑框客户区域
pDC->StretchBlt(0,0,rect.Width(),rect.Height(),
&memDC,0,0,x,y,SRCCOPY); //绘制位图背景
memDC.DeleteDC();            //释放内存设备上下文
}
实例的运行结果如图7.9所示。
 
图7.9  绘制视图的背景

【责任编辑:夏书 TEL:(010)68476606】

回书目   上一节   下一节

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇7.4.1 简单视图分割 下一篇7.5.2 在视图窗口中浏览网页

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: