zoukankan      html  css  js  c++  java
  • 设备描述表

    1.获取设备描述表句柄:
    a. hdc = BeginPaint(hwnd,&ps);
       //other program lines
       EndPaint(hwnd,&ps);
       BeginPaint调用使整个客户区有效(阻止WM_PAINT消息一直发送),填充
       ps结构的字段,返回的设备描述句柄。使用这个句柄只能在ps结构中的rcPaint字段规定的区域
       内绘图。EndPaint调用可释放设备描述句柄。这两个函数常成对出现,并且一般只用在WM_PAINT
       消息中。
    b. hdc = GetDC(hwnd);
       //other progream lines
       ReleaseDC(hwnd,hdc);
       GetDC函数调用后会返回hwnd参数所指定的窗口的客户区所对应的设备描述表句柄。可见GetDC调用
       与BeginPaint的基本区别是,利用从GetDC返回的句柄可以在整个客户区上绘图。如果hwnd参数设置
       为NULL,那么函数会返回整个桌面的设备描述表句柄。当不再需要该设备环境时,需要调用ReleaseDC
       函数释放设备描述表。
    c. hdc = GetWindowDC(hwnd);
       //other progream lines
       DeleteDC(hdc);
       GetWindowDC返回可以在整个窗口(包括客户区部分和标题栏、菜单、滚动条、框架等非客户区部分)
       绘图的设备描述表句柄,不过此函数很少使用。
    d. hdc = CreateDC(lpszDriver,lpszDevice,lpszOutput,lpData);
       //other progream lines
       DeleteDC(hdc);
       BeginPaint、GetDC和GetWindowDC获得的设备内容都与显示器上的某个特定窗口(即hwnd)相关。
       CreateDC是取得设备描述表句柄一个更通用的函数,它甚至可以获取非显示器输出设备描述表句柄。
       当不再需要该设备描述表时只可调用DeleteDC函数删除它。

    2.保存设备描述表:

     int idSaved = SaveDC(hdc) ;//保存

     RestoreDC (hdc, idSaved) ;//恢复

     RestoreDC(hdc,-1);//表示恢复最近保存的一次

  • 相关阅读:
    PHP在yii2中封装SuperSlide 幻灯片编写自己的SuperSlideWidget的例子
    安卓界面控件屏幕居中Layout例子
    java web的开发 知识要点
    PHP MVC简单介绍,对PHP当前主流的MVC做了一个总结
    自己编写的一个有关安卓应用开发培训PPT
    springboot配置fastjson后端往前端传输格式化
    实现商城商品秒杀分析
    idea添加jdbc包
    idea心得
    gc overhead limit exceeded内存问题
  • 原文地址:https://www.cnblogs.com/xy95/p/5741834.html
Copyright © 2011-2022 走看看