已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
,第二部分Win32SDK编程,在Windows应用程序中,图形与文本都是通过图形设备接口,简称GDI(GraphicsDeviceInterface),以图形形式来处理的。GDI是Windows的子系统,它负责在视讯显示器和打印机上显示图形。GDI是Windows非常重要的部分。要在窗口的显示区域绘图,可以使用Windows的图形设备接口(GDI)函数。从程序写作者的观点来看,GDI由几百个函数调用和一些相关的数据类型、宏和结构组成。Windows提供了用于将字符串输出到窗口的显示区域内TextOut等。该函数的格式如下:BOOLTextOut(HDChdc,/handletodevicecontextintnXStart,/x-coordinateofstartingpositionintnYStart,/y-coordinateofstartingpositionLPCTSTRlpString,/pointertostringintcbString/numberofcharactersinstring);,GDI简介,设备内容(简称为DC):句柄只不过是一个数值,Windows以它在内部使用对象。程序写作者从Windows取得句柄,然后在其它函数中使用该句柄。设备内容句柄是GDI函数的窗口通行证,有了这种设备内容句柄,程序写作者就能自如地在显示区域上绘图。实际上DC是GDI内部保存的数据结构。设备内容与特定的显示设备(如视讯显示器或打印机)相关。对于显示器,设备内容总是与显示器上的特定窗口相关。设备内容中的有些值是图形属性,这些属性定义了GDI绘图函数工作的细节。例如,对于TextOut,设备内容的属性确定了文字的颜色、文字的背景色、x坐标和y坐标映像到窗口的显示区域的方式,以及显示文字时Windows使用的字体。当程序需要绘图时,它必须先取得设备内容句柄。在取得了该句柄后,Windows用内定的属性值填入内部设备内容结构。在后面的章节中您会看到,可以通过呼叫不同的GDI函数改变这些默认值。利用其它的GDI函数可以取得这些属性的目前值。当然,还有其它的GDI函数能够在窗口的显示区域真正地绘图。当程序在显示区域绘图完毕后,它必须释放设备内容句柄。句柄被程序释放后就不再有效,且不能再被使用。程序必须在处理单个消息处理期间取得和释放句柄。除了呼叫CreateDC(函数,在本章暂不讲述)建立的设备内容之外,程序不能在两个消息之间保存其它设备内容句柄。,GDI简介-HDC,取得设备内容句柄的方法:HDChdc;hdc=BeginPaint(HWNDhwnd,LPPAINTSTRUCTlpPaint);Dosomedrawingwithhdc;EndPaint(HWNDhwnd,CONSTPAINTSTRUCTlpPaint);以上只能用于WM_PAINT消息响应中;hdc=GetDC(HWNDhwnd);Dosomedrawingwithhdc;ReleaseDC(HWNDhwnd,HDChdc);以上用于非WM_PAINT消息响应中,GDI简介-HDC,设置字体颜色:COLORREFSetTextColor(HDChdc,/handletodevicecontextCOLORREFcrColor/textcolor);设置背景色:COLORREFSetBkColor(HDChdc,/handleofdevicecontextCOLORREFcrColor/backgroundcolorvalue);设置对其方式:UINTSetTextAlign(HDChdc,/handletodevicecontextUINTfMode/text-alignmentflag);,GDI简介-字体,字体参数:BOOLGetTextMetrics(HDChdc,/handletodevicecontextLPTEXTMETRIClptm/pointertotextmetricsstructure);typedefstructtagTEXTMETRICLONGtmHeight;LONGtmAscent;LONGtmDescent;LONGtmInternalLeading;LONGtmExternalLeading;LONGtmAveCharWidth;LONGtmMaxCharWidth;其它结构字段TEXTMETRIC,*PTEXTMETRIC;,GDI简介-字体,GDI简介-字体,字体参数:,GDI简介-字体,字体参数:TEXTMETRICtm;caseWM_CREATE:hdc=GetDC(hwnd);/获得字体参数GetTextMetrics(hdc,GDI简介-字体,字体参数:For(i=0;i10;i+)TextOut(hdc,0,i*cyChar,studentsi.stuOrder,strlen(studentsi.stuOrder);TextOut(hdc,cxChar*10,i*cyChar,studentsi.stuNo,strlen(studentsi.stuNo);SetTextAlign(hdc,TA_RIGHT);/设置对其方式TextOut(hdc,cxChar*30,i*cyChar,studentsi.stuName,strlen(studentsi.stuName);SetTextAlign(hdc,TA_LEFT);/设置对其方式Te
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年VR虚拟现实互动教育项目市场可行性分析报告
- 高中生利用地理遥感数据评估城市屋顶绿化保温隔热效益课题报告教学研究课题报告
- 2025年新能源汽车电池回收利用技术前瞻性与市场潜力可行性研究
- 《遗传学》课件-第七章 多基因遗传病
- 26年护理方案调整规范课件
- 2026年临时销售代表劳动合同二篇
- 高低压腔压缩机参考手册
- 肾癌中SDF-1-CXCR4轴与细胞核定位序列的关联探究
- 肺癌细胞系中肿瘤干细胞样细胞的分离鉴定与干性标志解析:探索肺癌治疗新靶点
- 肺癌功能性抗原的分离鉴定及临床关联的深度剖析
- 2025年四川省纪委监委公开遴选公务员笔试试题及答案解析
- 《公司金融》(第二版)- 李曜 课后练习答案 第1-6章
- 内分泌危象识别与应急处理
- 病死畜禽无害化处理项目可行性研究报告
- 2025陕西宝鸡市麟游县从“五类人员”中选拔镇领导班子成员8人备考题库附答案
- 2026年中国铁路兰州局集团有限公司招聘普通高校毕业生468人笔试考试备考试题及答案解析
- 2025年高中一年级下学期数学统计专项训练试卷(含答案)
- 医院抗菌药物使用数据分析报告
- 2025中国五矿集团(黑龙江萝北石墨园区)石墨产业有限公司招聘考试历年参考题附答案详解
- (新版)中国联通政企智慧运营考试题库(含答案)
- 工业厂房通风系统设计方案
评论
0/150
提交评论