获取释放DC(设备上下文)
来源:互联网 发布:东莞广电网络 编辑:程序博客网 时间:2024/06/01 09:45
获取释放DC(设备上下文)
获取设备上下文句柄有多种方法。
1. 当处理一条消息时获得了设备上下文、并在退出窗口之前释放它。一般的处理方法如下:
在处理WM_PAINT消息时case WM_PAINT:
hdc=BeginPaint(hwnd,&ps)
EndPaint (hwnd,&ps);
其数据结构为:
HDC hWnd;
PAINTSTRUCT ps;
在windows.h中定义了PAINTSTRUCT的数据结构。type struct tagPAINTSTRUCT {
HDC hdC;
BOOL fErase;
RECT rcPaint;
BOOL fRestore;
BOOL flncUpdate;
BYTE rgbReserved[16];
}PAINTSTRUCT;
其中,hdc用于标识显式上下文,fErase指出背景是否重画,rcPaint是涂色矩形,其余的域均为保留。
这里的hdc是BeginPaint返回的设备上下文句柄,有了从DeginPaint获取的设备上下文句柄,就可以也只能在ps指出的rcPaint的矩形内绘图,EndPaint调用使这一区域有效。
hdC=GetDc (hwnd );
…画图操作…
ReleaseDC (hwnd , hdc );
hdC=GetWindowDc(hwnd);
…画图操作…
ReleaseDc(hwnd,hdc);
hdc=CreateDC (lpszDriver ,lpszDevice ,lpszOutput , lpData);
…画图操作…
ReleaseDC(hdc);
其中: lpszDriver指向设备驱动程序的DOS文件名(不带扩展名),
lpszDevice指向专用设备名(例如Epson Fx-80),
lpszOutput指向物理输出介质(文件或输出端口)的DOS文件名或设备名,
lpData指向含有设备驱动程序的设备专用的初始化数据的DEVMODE数据结构。
例如:
1)如果要使用屏幕画图:
hdc = CreateDC("DISPLAY",NULL,NULL,NULL);2)如果要在打印机上输出图形:
hdc = CreateDC ("IBMGRX","IBM Graphics","LPT1",NULL );
这里的lpData置为默认值,可以在WIN.INI中找到初始化值。
3)如果不需要获取设备上下文,即不需要在设备上下文中操作,只需了解有关设备上下文的信息:
hdcInfo = CreateDC(lpszDriver, lpszDevice,lpszOutput, lpData );
……
DeteteDC (hdcInfo);
0 0
- 获取释放DC(设备上下文)
- 浅析设备上下文(DC)
- 浅析设备上下文(DC)
- 浅析设备上下文(DC)(转)
- 设备上下文DC(又称设备描述表)
- Windows API学习笔记(3)--设备上下文DC
- 四、设备上下文DC的编程方法
- DC设备上下文的举例描述
- 详解DC、CDC、HDC、句柄、设备上下文
- 获取设备上下文句柄
- 获取设备上下文
- DC---DeviceContext 中文翻译为设备上下文或者设备描述表
- 对Windows程序中设备上下文DC(device context)的理解
- MFC的运行机制 以及 MFC中的DC、CDC、HDC、句柄、设备上下文(整理)
- MFC的运行机制 以及 MFC中的DC、CDC、HDC、句柄、设备上下文(整理)
- MFC的运行机制 以及 MFC中的DC、CDC、HDC、句柄、设备上下文(整理)
- 对Windows程序中设备上下文DC(device context)的理解
- MFC的运行机制 以及 MFC中的DC、CDC、HDC、句柄、设备上下文(整理) .
- Docker新手安装笔记
- Linux的inode的理解
- Qt 简介
- eclipse下软件测试合集,findbugs,PMD,Sourcemonitor,Junit的安装和使用详细图文
- 单链表的插入、删除、遍历操作
- 获取释放DC(设备上下文)
- HDU 2851 Lode Runner(简单DP)
- SDUT 3305 质数中的质数 (素数筛)
- 单链表(c++带头结点,)
- android 判断手机中是否有SD卡,USB。静态判断
- OSPF相关概念
- 黑马程序员-----Java基础-----反射
- linux 下结合find 和 rm 删除大量文件
- 解决JSON序列化日期格式问题