win程序设计.pptVIP

  • 1
  • 0
  • 约1.24万字
  • 约 20页
  • 2017-08-15 发布于河南
  • 举报
WIN程序设计 Author:景落西轩 WINDOWS程序 #include windows.h int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) { MessageBox (NULL, TEXT (Hello, Windows 98!), TEXT (HelloMsg), 0); return 0 ; } HELLOWIN程序 见备注 GDI 简介 要在窗口的显示区域绘图,可以使用Windows的图形设备接口(GDI)函数。Windows提供了几个GDI函数,用于将字符串输出到窗口的显示区域内。我们已经在上一章看过DrawText函数,但是目前使用最为普遍的文字输出函数是TextOut。该函数的格式如下: TextOut (hdc, x, y, psText, iLength) ; 设备内容 设备内容(简称为「DC」)实际上是GDI内部保存的数据结构。设备内容与特定的显示设备(如视讯显示器或打印机)相关。 取得设备内容句柄:方法一 在处理WM_PAINT消息时,使用这种方法。它涉及BeginPaint和EndPaint两个函数,这两个函数需要窗口句柄(作为参数传给窗口消息处理程序)和PAINTSTRUCT结构的变量(在WINUSER.H表头文件中定义)的地址为参数。Windows程序写作者通常把这一结构变量命名为ps并且在窗口消息处理程序中定义它: PAINTSTRUCT ps ; HDC hdc ; caseWM_PAINT: hdc = BeginPaint (hwnd, ps) ; 使用GDI函数 EndPaint (hwnd, ps) ; return 0 ; 取得设备内容句柄:方法二 虽然最好是在处理WM_PAINT消息处理期间更新整个显示区域,但是您也会发现在处理非WM_PAINT消息处理期间绘制显示区域的某个部分也是非常有用的。或者您需要将设备内容句柄用于其它目的,如取得设备内容的信息。 要得到窗口显示区域的设备内容句柄,可以呼叫GetDC来取得句柄,在使用完后呼叫ReleaseDC: hdc = GetDC (hwnd) ; 使用GDI函数 ReleaseDC (hwnd, hdc) ; GDI基本图形 您在屏幕或打印机上显示的图形型态本身可以被分为几类,通常被称为「基本图形」,它们是: 直线和曲线线条是所有向量图形绘制系统的基础。GDI支持直线、矩形、椭圆(包括椭圆的子集,也就是我们所说的「圆」)、椭圆圆周上的部分曲线即所谓的「弧」以及贝塞尔曲线(Bezier spline),我们将在本章中分别对它们进行介绍。所有更复杂的曲线可由折线(polyline)代替,折线通过一组非常短的直线来定义一条曲线。线条用设备内容中选中的目前画笔绘制。   填入区域当一系列直线或者曲线封闭了一个区域时,该区域可以使用目前GDI画刷对象进行填图。这个画刷可以是实心色彩、图案(可以是一系列的水平、垂直或者对角标记)或者是在区域内垂直或者水平重复的位图图像。   位图位图是位的矩形数组,这些位对应于显示设备上的图素,它们是位映像图形的基础工具。位图通常用于在视讯显示器或者打印机上显示复杂(一般都是真实的)图像。位图还可以用于显示必须快速绘制的小图像(诸如图标、鼠标光标以及在应用工具条中出现的按钮等)。GDI支持两种型态的位图-旧式的(虽然还非常有用)「设备相关」位图,是GDI对象;和新的(如Windows 3.0的)「设备无关」位图(或者DIB),可以储存在磁盘文件中。第十四章和第十五章讨论位图。   文字文字的数学味道不像计算机图形的其它方面那样浓。文字和几百年的传统印刷术有关,它被许多印刷工人看作为一门艺术。因此,文字通常不仅是所有的计算机图形系统中最复杂的部分,而且(如果识字还是社会基本要求的话)也是最重要的部分。用于定义GDI字体对象和取得字体信息的数据结构是Windows中最庞大的部分之一。从Windows 3.1开始,GDI开始支持TrueType字体,该字体是在填入轮廓线基础上建立的,这样的填入轮廓线可由其它GDI函数处理。依据兼容性和储存大小的考虑,Windows 98继续支持旧式的点阵字体。我会在第十七章讨论字体。 直线 SetPixel函数在指定的x和y坐标以特定的颜色设定图素: SetPixel (hdc, x, y, crColor) ; GetPixel函数传回指定坐标处的图素颜色

文档评论(0)

1亿VIP精品文档

相关文档