- 1、本文档共117页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
例13 在点(100,100)处输出黄底红字“Compute Graphics Based on VC++!”;在(300,100)输出“BoChuang Research Institute”;在(100,130)整数(5,8);在(130,130)处输出小数(5.0,8.0)。 void CTestView::OnDraw(CDC* pDC) { CTestDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); int a1=5,b1=8; double a2=5.2,b2=8.3; CString data,c= BoChuang Research Institute; pDC-SetTextColor(RGB(255,0,0)); pDC-SetBkColor(RGB(255,255,0)); pDC-TextOut(100,100,Compute Graphics Based on VC++!);//输出文本1 data.Format(%s,c);//输出文本2 pDC-TextOut(330,100,data); data.Format(%d,%d,a1,b1);//输出整数 pDC-TextOut(100,130,data); data.Format(%f,%f,a2,b2);//输出小数 pDC-TextOut(130,130,data); } 例14 使用双缓冲机制在博创研究所位图上输出“博创研究所”文字。 void CTestView::OnDraw(CDC* pDC) { CTestDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); CRect Rect; //定义客户区 GetClientRect(Rect); //获得客户区的大小 CDC MemDC; //定义内存设备上下文 CDC Picture; //定义图片; CBitmap Bitmap,*OldBitmap; //定义一个CBitmap对象和一个CBitmap对象指针 CBitmap Bitmap;//定义一个CBitmap对象 CBitmap *OldBitmap; //定义一个CBitmap对象指针 Bitmap.LoadBitmap(IDB_BITMAP1); //从资源中导入位图 MemDC.CreateCompatibleDC(pDC); //建立与位图相应的内存设备上下文 OldBitmap=MemDC.SelectObject(Bitmap); //把内存设备上下文换成位图图像 MemDC.BitBlt(0,0,Rect.Width(), Rect.Height(),Picture,0,0,SRCCOPY); //将位图数据传送到内存设备上下文 MemDC.SetBkMode(TRANSPARENT); //设置文字背景透明 MemDC.SetTextColor(RGB(255,255,255)); //设置文字颜色为白色 MemDC.TextOut(500,350,博创研究所); //输出文字 pDC- BitBlt(0,0,Rect.Width(),Rect.Height(), MemDC,0,0,SRCCOPY); //将内存数据传送到屏幕 MemDC.SelectObject(OldBitmap); //从内存设备上下文中释放位图图像 } 2.3.4 设备上下文的调用和释放 在VC++程序中输出图形和文本时,如果不在OnDraw函数中输出,则需要设置输出对象的设备上下文,然后才能调用相应的CDC类的成员函数,最后还需要保证将设备上下文释放给Windows,恢复原来的状态以备下次调用 调用设备上下文 类属:CWnd::GetDC( ) 原型:CDC* GetDC( ); 返回值:指定的客户区设备上下文指针。 参数说明:获得指定的窗口客户区的设备上下文。 释放设备上下文 类属:CWnd::ReleaseDC 原型:int ReleaseDC(CDC* pDC); 返回值:非零。 参数说明:释放指定客户区的设备上下文。 2.2.5 VC++绘制图形的几种方法 第一种方法:使用OnDraw成员函数。 void CTestView::OnDraw(CDC* pDC) { CTestDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: add draw code for native
您可能关注的文档
- 聚合物合成工艺-第1章案例分析.ppt
- 聚合物太阳能电池案例分析.ppt
- 计算机绘图案例分析.ppt
- 民族风情画廊二道桥新案例分析.ppt
- 计算机基础-各章-四川大学内部案例分析.ppt
- 决策理论与方法-第3章风险型决策案例分析.ppt
- 决策支持方法案例分析.ppt
- 分体式压缩机组(最终版)解说.ppt
- 决胜在营销管理案例分析.ppt
- 分职场经营-赢在自主发展解说.ppt
- 浙江省临海市白云高级中学2025届高三历史3月月考试题.doc
- 云南拾谷县第一中学2024_2025学年高二物理上学期10月月考试题.doc
- 2025版高考生物总复习第13讲基因的分离定律教案苏教版.doc
- 湖北省黄石实验高中2024_2025学年高一历史下学期期末考试模拟卷.doc
- 通史版2025版高考历史大一轮复习专题七近代化的曲折发展__中日甲午战争至五四运动前4第4讲从维新思想到新文化运动课后达标检测含解析新人教版.doc
- 2024年高考数学考试大纲解读专题04导数及其应用含解析文.doc
- 河南省许汝平九校联盟2024_2025学年高一语文上学期期末考试试题扫描版无答案.doc
- 江西省吉安市吉水县第二中学2024_2025学年高一历史上学期第二次月考试题.doc
- 北京市平谷区2025届高三政治一模考试试题含解析.doc
- 2025届中考物理第四讲物态变化专项复习测试无答案新人教版.docx
文档评论(0)