这个程序的代码用到的大部分知识都是前面各章已经讲到的,在_WinMain中,用一个同样的窗口类建立了两个窗口,两个窗口属于同一个窗口类,所以它们的窗口过程都是_ProcWinMain,为了关闭任何一个窗口都可以结束程序,WM_CLOSE消息中用DestroyWindow函数摧毁了两个窗口。程序设置了一个周期为100 ms的定时器,Windows会每隔100 ms调用_ProcTimer子程序。在_ProcTimer中,将其中一个窗口的客户区拷贝到另一个窗口的客户区中,方法是通过GetDC获取窗口的DC句柄,并用BitBlt函数完成拷贝工作(这些函数的具体用法在下面的内容中会讲到),所以在右边的窗口显示了一句“Win32 Assembly, Simple and powerful!”,左边的窗口中也会出现这句话。

这个程序能演示出什么效果来呢?图7.2就是程序运行的结果,屏幕上的两个并排的正方形窗口就是DcCopy程序建立的窗口,程序每100 ms将右边窗口的客户区拷贝到左边的窗口客户区中,通过左边窗口的客户区就可以了解右边客户区DC对应的究竟是什么内容。


图7.2 DcCopy程序的运行结果

第07章 图形操作 · 7.1 GDI原理(3)相关推荐

  1. 第07章 图形操作 · 7.2 绘制图形(1)

    有了前面的这些基础,这一节将用一个时钟的例子来演示如何进行简单的绘图,例子的源代码可以在所附光盘的Chapter07\Clock目录中找到,程序运行的结果如图7.4所示. 图7.4 时钟程序的运行结果 ...

  2. 第07章 图形操作 · 7.2 绘制图形(2)

    fild _dwRadius fmul fsubp st(1),st fistp @dwReturn mov eax,@dwReturn ret _CalcY endp;############### ...

  3. .NET3.5 GDI+ 图形操作1

    前言: 本文章抄袭自本人刚刚买的<ASP.NET 3.5从入门到精通>这本书,此书介绍在 http://www.china-pub.com/44991  ,本文章95%与此书的内容完全一样 ...

  4. Win32汇编--图形操作--GDI原理

    Win32汇编--图形操作--GDI原理 Windows是基于图形界面的,所以在Win32编程中,图形操作是最常用的操作.GDI的意义在于将程序对图形界面的操作和硬件设备隔绝开来,在程序中可以将所有的 ...

  5. .NET3.5 GDI+ 图形操作2

    前言: 本文章抄袭自本人刚刚买的<ASP.NET 3.5从入门到精通>这本书,此书介绍在 http://www.china-pub.com/44991 ,本文章95%与此书的内容完全一样, ...

  6. JavaWeb笔记:第07章 MVC |EL |JST |Filter |Listener |JQuery |AJAX |Maven |JSON |Redis |Linux |Nginx

    JavaWeb笔记:第07章 MVC |EL |JST |Filter |Listener |JQuery |AJAX |Maven |JSON |Redis |Linux |Nginx 1. MVC ...

  7. 第05章 图形基础

    图形设备接口(GDI:Graphics Device Interface)是Windows的子系统,它负责在视讯显示器和打印机上显示图形.正如您所认为的那样,GDI是Windows非常重要的部分.不只 ...

  8. linux操作系统 第02章 linux操作做基础

                                                                                       第2章    Linux操作基础 ...

  9. html5 图形化操作,HTML5的图像及动画图形操作-20210525222751.ppt-原创力文档

    第5章 HTML5的图像及动画 5.1 canvas元素 5.3 图形操作 5.2 使用路径画图 5.4 图像操作 5.5 canvas其他操作 5.6 制作动画 5.7 上机实践--绘制时钟 5.3 ...

最新文章

  1. STL 简介,标准模板库
  2. Python之父,现在成为微软打工人
  3. 通过反射动态调用webservices
  4. Spring Security使用Hibernate实现自定义UserDetails
  5. 温习下C语言一些函数
  6. golang的Channel初始化的有缓存与无缓存解释
  7. java中io各种流的关闭顺序
  8. javaeye怎么打不开了?当前!2010,10,24,23:08
  9. 关于暂停或终止更新的相关读书笔记
  10. linux安装java、配置 jmeter
  11. Hello!SCDN
  12. JavaWeb网上购物系统项目源码+论文
  13. Apache SSI 远程命令执行漏洞
  14. 【毕业设计】基于单片机的智能饮水控制系统 - 物联网 嵌入式 stm32 c51
  15. Android之常见事件响应的实现方式
  16. Android webview Input type=file 文件上传 解决方法
  17. Nginx反向代理服务器及负载均衡服务配置实战
  18. python 通达信上传云端_云端同步的问题-通达信知识 -程序化交易(CXH99.COM)
  19. webm格式视频怎么转换成mp4
  20. 工业数字智能化常用系统简介

热门文章

  1. C语言查询工具的使用
  2. 精通vim--提高效率
  3. Python 多线程下载图片
  4. 专业摄影师手机必备的修图软件,竟然没有PS!
  5. PDF杂谈二 如何实现无纸化办公?
  6. PMBOK 第七版英文版
  7. Buiding 7z source code on Mac
  8. contec计算机主板说明书,PCA-6007 Rev.A1 PCA-6007LV Rev.A1 研华工控机主板
  9. 微信端活体检测|人脸识别SDK|人证比对|身份核验
  10. i7 7700k linux,i7 7700K和i7 7740X哪个好?i7-7740X与7700K的区别对比详细评测