《WIN编程入门GDI》PPT课件.ppt_第1页
《WIN编程入门GDI》PPT课件.ppt_第2页
《WIN编程入门GDI》PPT课件.ppt_第3页
《WIN编程入门GDI》PPT课件.ppt_第4页
《WIN编程入门GDI》PPT课件.ppt_第5页
已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论