编程词典
明日图书
明日软件
用户注册
用户登录
站内
  当前位置:编程词典服务网 >> 编程词典社区论坛 >> 绘制视图背景
  · 绘制视图背景

用户:  大麦
发帖:  430 篇
作品:  0 个
回复:  110 篇
技术分:  1160 分
等级:  
注册:  2010-05-11 09:09:40



发表于:2010-07-13 13:32:46
          楼主

绘制视图背景
绘制视图的背景可以通过在视图类的OnDraw函数中进行。使用GetClientRect函数获得视图的客户区域。
语法:
void GetClientRect( LPRECT lpRect ) const;
lpRect:客户区域的大小。
调用CDC类的StretchBlt函数绘制视图的背景。
例如,下面通过实例来实现绘制视图的背景,程序设置步骤如下:
(1)创建一个单文档应用程序。
(2)选择工作区窗口的RecourceView选项卡,导入一个位图资源。
(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();            //释放内存设备上下文
}
实例的运行结果如图1所示。
 
图1  绘制视图的背景

 

本帖赏分:0 分   回复数:0 篇     
修改   删除   引用   回复
该帖暂无回复!
吉林省明日科技有限公司提供技术支持. 
Copyright © 1999-2008 吉林省明日科技有限公司. 吉ICP备10002740
当前时区 GMT+8, 今天是 
刷新页面 - 关于我们 - 设为首页