Windows程序设计(一)---取得设备内容的三种方法

来源:互联网 发布:安装软件拒绝访问 编辑:程序博客网 时间:2024/06/06 04:23
1、什么是设备内容?设备内容(DC)实际上是GDI内部保存的数据结构,DC中的有些值是图形属性;当程序需绘图时,它必须先取得设备内容句柄;当程序在显示区域绘图完毕后,它必须释放设备内容句柄。
2、取得设备内容的3种方法

方法一:    

  1. HDC hdc;
  2. PAINTSTRUCT ps;
  3. hdc = BeginPaint(hWnd, &ps);
  4. ...
  5. EndPaint(hWnd, &ps);

方法二:

  1. HDC hdc;
  2. hdc =GetDC(hWnd);   //或者GetWindowDC(hWnd);
  3. ...
  4. ReleaseDC(hWnd, hdc);

方法三:

  1. HDC hdc;
  2. hdc =CreateDC(pszDriver, pszDevice, pszOutput, pData);
  3. ...
  4. DeleteDC(hdc);

扩展:

  • 只取得关于某设备内容的一些信息而不绘画 

  1. hdc =CreateIC(_T("DISPLAY"),NULL,NULL,NULL);
  • 使用位图,取得一个内存设备内容

  1. hdcMem =CreateCompatibleDC(hdc);
  2. ...
  3. DeleteDC(hdcMem);

  • 取得metafile设备内容建立metafile
  1. hdcMeta =CreateMetaFile(pszFileName);
  2. ...
  3. hmf =CloseMetaFile(hdcMeta);
  • 获取设备内容信息

iValue =GetDeviceCaps(hdc, iIndex);