《Windows 程序设计》学习笔记(五)

王朝vc·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

第五章 图形基础(一)-----基础知识

前面几章涉及了一些在窗口客户绘制图形的知识和运用,本章比较详细的讲解了图形绘制的基本原理和运用。

Windows提供了几百个GDI函数,我们通过调用GDI函数在Windows上进行各种绘图操作。GDI使我们的绘图与设备无关,也就是说可以在Windows支持的任意一种输出设备上绘图而不用考虑这些设备的特性。

几乎每一个GDI函数都需要一个设备环境(DC)的句柄作为参数,设备环境中包括许多确定GDI函数如何在设备上工作的当前属性,比如:字体,文本色,线的颜色,线的粗细等。要获得设备环境中的这些信息,可以用GetDeviceCaps()函数。

每一个绘图的过程都是如下面的顺序来进行的:

获取一个设备环境句柄 ----> 利用设备环境句柄和GDI函数进行绘图 ----> 释放设备环境句柄

Windows提供了几种获取和释放设备环境句柄的方法:

A)在处理WM_PAINT时

hdc = BeginPaint(hwnd, &ps);

[ other program lines ]

EndPaint(hwnd, &ps);(在前面的章节经常用到)

B)在处理非WM_PAINT时

hdc = GetDC(hwnd);

[ other program lines ]

ReleaseDC(hwnd, hdc);

C)获得整个窗口的设备环境句柄

hdc = GetWindowDC(hwnd);

[ other program lines ]

ReleaseDC(hwnd, hdc);

D)获得整个屏幕的设备环境句柄

hdc = CreateDc(TEXT("DISPLAY", NULL, NULL, NULL);

E)只获取整个屏幕的设备环境句柄而不绘图

hdc = CreateIC(TEXT("DISPLAY", NULL, NULL, NULL);

某些情况下,我们需要改变某些设备环境的属性,用改变后的属性进行绘图,然后恢复原来的设备环境。可以通过下面的函数来保存现在的设备环境:

idSaved = SaveDC(hdc);

然后用下面的函数恢复原来的设备环境:

RestoreDC(hdc, idSaved);

或者用下面的方法实现同样的功能:

SaveDC(hdc);

RestoreDC(hdc, -1);

Windows提供了一些GDI对象(画笔,刷子等),我们可以创建这些对象把它们选入设备环境中,Windows就可以用这些对象绘制各种图形了。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航