第25周-window程序设计(基础篇)-第4章-GDI图形设备接口
2016-09-21 11:05
190 查看
1、GDI图形设备接口:
/*文字输出函数*/ TextOut(hdc,x,y,psText,iLength); a、hdc-[内容设备句柄],psText-指向字符串指针,iLength-字符串长度 b、设备内容(简称为「DC」)实际上是GDI内部保存的数据结构。 /*Windows应用程序一般使用两种方法来取得设备内容句柄*/ PAINTSTRUCT ps; /*BeginPaint传回的值是设备内容句柄,这一传回值通常被保存在叫做hdc的变量*/ HDC hdc; //HDC数据型态定义为32位的无正负号整数 /*处理WM_PAINT消息形式如下*/ caseWM_PAINT: hdc = BeginPaint(hwnd,&ps); 使用GDI函数 EndPint(hwnd,&ps); return 0; /*若窗口消息处理程序不处理WM_PAINT消息,则DefWindowProc以下列代码处理WM_PAINT消息*/ caseWM_PAINT: BeginPaint(hwnd,&ps); //不能省略 EndPaint(hwnd,&ps); //不能省略 return 0; /*绘图信息结构PAINTSTRUCT*/ typedef struct tagPAINTSTRUCT { HDC hdc; //设备内容句柄 BOOL fErase; //fErase被标志为FALSE(0),这意味着Windows已经擦除了无效矩形的背景。 RECT rcPaint; //rcPaint字段定义了无效矩形的边界 BOOL fRestore; //恢复 BOOL flncUpdate; //更新 BYTE rgbReserved[32]; //保留 }PAINTSTRUCT; /*白色画刷*/ wndclass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); /*更新的矩形外绘图可呼叫下面函数*/ InvalidateRect(hwnd,NULL,TRUE); //若第三个参数改为FALSE则不擦除背景 注意:关心程序性能和速度的程序写作者希望在处理WM_PAINT期间使用无效矩形范围,以避免不必要的GDI呼叫。 /*要得到窗口显示区域的设备内容句柄,可以呼叫GetDC来取得句柄,在使用完后呼叫ReleaseDC:*/ hdc = GetDC(hwnd); 使用GDI函数 ReleaseDC(hwnd,hdc); 注意:需要成对出现,与BeginPaint和EndPaint类似。GetDC传回的设备内容句柄具有一个剪取矩形,它等于整个显示区域 /*与BeginPaint不同,GetDC不会使任何无效区域变为有效。需用下面的函数*/ ValidateRect(hwnd,NULL); GetDC传回用于写入窗口显示区域的设备内容句柄,而GetWindowDC传回写入整个窗口的设备内容句柄。 /*[逻辑坐标]:传递给函数的坐标*/ Windows有许多「坐标映像方式」,它们用来控制GDI函数指定的逻辑坐标转换为显示器的实际图素坐标的方式。映像方式在设备内容中定义,内定映像方式是MM_TEXT(使用WINGDI.H中定义的标识符)。单词:device content 设备内容、
相关文章推荐
- 第25周-window程序设计(基础篇)-第4章-绘制和更新
- 第25周-window程序设计(基础篇)-第4章-系统字体及格式化文字
- 第25周-window程序设计(基础篇)-第4章-SYSMETS.C窗口消息处理程序
- 第25周-window程序设计(基础篇)-第4章-SYSMETS3.C
- 第25周-window程序设计(基础篇)-第4章-滚动条
- 第26周-window程序设计(基础篇)-第5章(图形基础)-取得设备内容的多方法
- 第25周-window程序设计(基础篇)-第4章-SYSMETS.H
- 第25周-window程序设计(基础篇)-第4章-滚动条新功能
- Windows 中绘图以及Windows 的图形设备接口(GDI )
- 第25周-window程序设计(基础篇)-第3章-注册窗口类别2
- 第26周-window程序设计(基础篇)-第5章(图形基础)-SINEWAVE.C正弦波
- 图形设备接口(GDI)
- 图形设备接口 GDI
- 第25周-window程序设计(基础篇)-第2章-windows为何不用printf
- Windows的图形设备接口(GDI)
- 图形设备接口(GDI)
- 图形设备接口(GDI)与设备描述表(DC)
- Windows图形设备接口(GDI)及Windows绘图
- GDI(Graphics Device Interface), 图形设备接口
- 第25周-window程序设计(基础篇)-第2章-实例ScreenSize.c