摘要:
调色板作为GDI绘图对象之一在当前的硬件情况下作用越来越小了, 调色板在显示设备还处于256色时代时,它的作用极其显著。 8位色显示设备中提供驱动为系统提供调色板为控制显示设备,此调色板仅能由一个程序提供使用,但只有是Win32程序都会用到调色板,Windows为解决这个问题为每个使用调色板的Win32程序创建一个逻辑调色板。 阅读全文
摘要:
前文中我们讲述了GDI绘图对象之一画笔, 今天继续学习绘图对象之二画刷,画刷通常用于将特定的颜色或图案填充到封闭式区域的图形中,封闭式图形有矩形,圆形,多边形, 路径等; 它和画笔一样也具备自身的属性: 样式(风格,图案)和行为. 一、创建画刷 GDI 提供四种方法创建画刷: 1. HBRUSH CreateSolidBrush(COLORREF crColor) crColor -- ... 阅读全文
摘要:
正如前文所述,DC 相当黑板, 黑板有了没笔也画不了图, 现在我们就来看看画笔(GDI 图形对象之一). GDI 绘图对象包括: 画笔,画刷,位图,调色板,区域, 每一个绘图对象都有着自身特点和功能,今天请的画笔又有什么功能呢? 画笔主要用于绘制直线和曲线,还有着:大小, 颜 色, 线条类型等属性; 一、创建画笔 GDI提供了三种方法: 1. HPEN CreatePen(int fnPenS... 阅读全文
摘要:
Windows 系统与DOS系统最大的区别在于其是图形用户界面,有了它电脑才得到飞速的发展,才进入了千家万户。 图形用户界面就是这么强悍!!! 通常我们Windows 系统下划分为3大模块: Kernel(内存与线程), User(窗体及消息), GDI(绘图), User + GDI 时常被统称GWE(图形窗体事件)。 为今起我们开始学习三大模块之一 : GDI(Graphics Devic... 阅读全文
摘要:
写了连续几天的面向过程的程序, 感觉非常不爽, 到处全局的函数和变量, 暂不说程序不好维护(数据被修改), 写一点业务就被框架程序给埋没了。 我现在更关心的时我的业务,不想将我的业务逻辑与框架的代码捆到一块去, 我要面向对象,我要封装,我要把业务与框架代码隔离。 封装的结构以及使用模仿MFC风格(当然比起MFC有太多的距离),目前仅将窗体与消息循环分开,消息映射以及可能创建别的模式窗体还不支... 阅读全文
摘要:
前几天公司去桂林旅游了, 每天累死了,晚上回来就想睡, 同时也放松一下。 隔了几天没有写Demo了, 今天我们继续写消息机制的第二部分。 在消息机制1部分中,我们主要讲解了消息循环部分,实际更突出说明了GetMessage 和 PeekMessage之间的差别,本章我们将讲解入队消息和非入队消息,入队消息就是指消息在产生后直接放入到应用程序消息队列中,由消息循环获取并通过DispatchMessage分发给窗体过程函数。 非入队消息那自然就是消息产生后不被放入到应用程序消息队列,而是由windows直接调用窗体过程函数处理。 我们先看一段代码: void MessageLoop() { sta 阅读全文
摘要:
看到这个标题是你可能会问, 怎么又说消息机制呢, Demo0002中不是己说过了吗? 还说? 呵呵,因为Demo 0002中只是为了讲Win32程序结构而做的引导,讲的不够全不够细,缺少太多的核心内容,比如Windows消息原理图画的视角不能很好展示Windows消息机制,缺少对 GetMessage, PeekMessage, SendMessage, GetMessage 的解说等等。 Windows 是一个消息驱动的OS, 为了存放消息系统提供了一个系统消息队列, OS在监控到事件的发生时就会产生相应的消息并存放到系统消息队列中。 而每个Windows 应用程序自己也有一个消息队列,O. 阅读全文
摘要:
今天的演示内容,在网上随便搜索就能搜索到一箩框,更有许多讲解非常精辟的文章。 我再三思考还是有写的必要, 原因有三: 1. 自己对Win32程序结构再也梳理学习一下; 2. 它是Windows 开发基础和前提; 3. 做为自己后期程序开发模板; 那我们开始吧! 众所周知, Windows 是消息驱动系统, 用户的所有行为和事件都被Windows 转成消息。而软件开发人员则通过消息来实现与Windows交互从而实现用户业务。那Windows 内部又是怎么处理的呢? 对消息的处理是我们Win32程序的根本, 因而我们就从消息的生命周期来着手讲解, 消息生命周期可以简单的概括成几个过程: a. 消息 阅读全文
摘要:
在DOS 系统中我们常使用命令行参数来实现用户对程序功能的控制, 如: dir /w 列举当前目录下的所有文件及文件夹, format c: /q 对C盘进行快速格式化等; 而在Windos平台中它一样非常有用,正如大家常操作的,双击一个关联文件test.doc或在开始->运行中输入notepad.exe c:\test.txt 都会启动对应的软件并打开所操作的文件,事实上,后面的实现无不与com... 阅读全文
摘要:
开发平台 Window 文字编码 Windows中常用编码及原理 消息机制 消息原理、消息操作函数 窗体 界面元素使用以及窗体管理 GDI对象 各种GDI对象使用以及GDI常用函数使用 Mouse/Keyboard 鼠标、键盘事件捕捉 剪切板 剪切板原理以及相关操作函数使用 注册表 注册表基础知... 阅读全文