第1章 嵌入式GUI系统概述 1
1.1 嵌入式GUI系统 1
1.1.1 嵌入式GUI系统的作用 1
1.1.2 嵌入式GUI系统的层级结构 2
1.2 嵌入式GUI系统的设计原则 4
1.3 嵌入式GUI系统发展状况 6
1.3.1 QT/Embedded 6
1.3.2 Microwindows 7
1.3.3 MiniGUI 8
第2章 MiniGUI的特点和发展 9
2.1 MiniGUI与嵌入式GUI系统 9
2.1.1 MiniGUI的设计理念 9
2.1.2 MiniGUI与其他嵌入式GUI系统的比较 12
2.2 MiniGUI的发布版本 14
2.2.1 MiniGUI 1.6 15
2.2.2 MiniGUI 2.0 16
2.3 MiniGUI 3.0 19
2.3.1 MiniGUI 3.0核心库的新功能 19
2.3.2 MiniGUI 3.0的新组件 19
2.4 MiniGUI的展望 20
2.4.1 MiniGUI的集成开发环境mStudio 20
2.4.2 MiniGUI 4.0 21
2.5 MiniGUI的发展和应用 21
2.5.1 MiniGUI的发展 21
2.5.2 MiniGUI的应用领域 23
第3章 MiniGUI的体系结构 26
3.1 MiniGUI的结构概述 26
3.2 MiniGUI的系统需求 29
3.2.1 MiniGUI所支持的操作系统 29
3.2.2 MiniGUI所支持的硬件平台 29
3.2.3 MiniGUI对系统资源的占用情况 29
3.3 MiniGUI的层次结构 29
3.3.1 MiniGUI的移植层 29
3.3.2 MiniGUI的核心实现 31
3.3.3 MiniGUI的API 32
3.4 MiniGUI的运行模式 34
3.4.1 MiniGUI-Threads模式 35
3.4.2 MiniGUI-Processes模式 36
3.4.3 MiniGUI-Standalone模式 38
第4章 MiniGUI的程序框架 39
4.1 GUI程序设计的基本方式 39
4.1.1 程序中的消息机制 39
4.1.2 回调函数的使用 40
4.2 程序示例与分析 42
4.2.1 MiniGUI的HelloWorld程序示例 42
4.2.2 程序分析 45
第5章 MiniGUI的窗口与消息机制 50
5.1 MiniGUI的窗口系统 50
5.1.1 窗口系统的概念 50
5.1.2 MiniGUI窗口系统 51
5.2 MiniGUI的消息处理机制 52
5.2.1 消息机制的概念 52
5.2.2 MiniGUI的消息机制 52
5.2.3 MiniGUI的消息机制类型 54
5.3 主窗口及其消息处理编程 55
5.3.1 主窗口的信息隐藏和对象编程 55
5.3.2 在主窗口中使用的附加信息 56
5.3.3 消息处理的方式与自定义消息 57
5.3.4 较完整的消息处理 59
5.3.5 主窗口及其消息处理的设计思想和编程内容总结 65
第6章 MiniGUI的对话框编程 67
6.1 MiniGUI中的对话框 67
6.1.1 对话框的概念 67
6.1.2 MiniGUI的对话框的使用方式 67
6.2 MiniGUI对话框编程 72
6.2.1 使用对话框模板编程 72
6.2.2 非模式对话框的使用 75
6.2.3 主窗口和对话框的结合使用 79
6.2.4 对话框的设计思想和编程内容总结 83
第7章 MiniGUI的控件编程 84
7.1 MiniGUI中的控件 84
7.1.1 控件的概念 84
7.1.2 MiniGUI的控件的使用方式 85
7.2 MiniGUI中的控件基本编程 90
7.2.1 使用控件的简单示例Hello World 90
7.2.2 多控件的使用 91
7.2.3 控件通知函数使用 94
7.2.4 控件的设计思想和编程内容总结 98
7.3 MiniGUI中的控件高级编程 98
7.3.1 自定义控件的编程 98
7.3.2 控件子类化 101
7.3.3 MiniGUI中的控件高级编程内容总结 104
第8章 MiniGUI的菜单 106
8.1 MiniGUI中的菜单 106
8.1.1 菜单的概念 106
8.1.2 MiniGUI中菜单的概念 106
8.2 MiniGUI中的编程 111
8.2.1 菜单的编程示例 111
8.2.2 菜单的设计思想和要点 117
第9章 MiniGUI的键盘和鼠标 119
9.1 MiniGUI中的输入设备的概念 119
9.1.1 输入的基本概念 119
9.1.2 MiniGUI的输入 119
9.2 MiniGUI中的键盘编程 120
9.2.1 键盘输入的过程 120
9.2.2 键盘的消息 120
9.2.3 键盘的状态和输入焦点的信息 122
9.2.4 键盘示例程序 123
9.2.5 键盘编程要点总结 126
9.3 MiniGUI中的鼠标 126
9.3.1 鼠标输入的过程 126
9.3.2 鼠标消息 127
9.3.3 鼠标捕获问题 129
9.3.4 鼠标编程示例 129
9.3.5 鼠标编程要点总结 133
第10章 MiniGUI的GDI编程 134
10.1 GUI系统中的图形设备 134
10.1.1 图形设备在GUI中的作用 134
10.1.2 MiniGUI中的GDI概念 134
10.2 MiniGUI中窗口绘制和刷新 135
10.2.1 何时进行绘制 135
10.2 2 MSG_PAINT消息 136
10.2.3 有效区域和无效区域 137
10.3 图形设备上下文 137
10.3.1 图形设备的抽象 137
10.3.2 设备上下文句柄的获取和释放 139
10.3.3 设备上下文句柄的保存和恢复 141
10.3.4 系统内存中的设备上下文 141
10.3.5 屏幕设备上下文 141
10.4 映射模式和坐标空间 141
10.4.1 映射模式 141
10.4.2 视口和窗口 142
10.4.3 设备坐标的转换 143
10.4.4 坐标系的偏移和缩放 144
10.5 颜色与调色板 144
10.5.1 颜色与调色板的概念 144
10.5.2 有关颜色的接口 146
10.5.3 颜色处理的示例程序 148
10.6 在图形设备的绘制基本图形 150
10.6.1 矩形操作 150
10.6.2 基本绘图属性 150
10.6.3 基本绘图函数 151
10.6.4 基本绘图程序示例 152
10.7 位图的使用 155
10.7.1 位图的概念 155
10.7.2 位图的装载 157
10.7.3 位图的绘制 158
10.7.4 位图程序示例 159
10.8 文本的处理和显示 160
10.8.1 字符集和编码 161
10.8.2 设备字体 162
10.8.3 逻辑字体 162
10.8.4 文本输出 163
10.8.5 文本程序示例 164
第11章 MiniGUI其他方面的编程 167
11.1 图标编程 167
11.1.1 图标的文件接口 167
11.1.2 图标的创建 169
11.1.3 系统图标的使用 169
11.1.4 图标的示例程序 170
11.1.5 图标编程要点总结 171
11.2 光标编程 172
11.2.1 光标的文件接口 172
11.2.2 光标限定 174
11.2.3 光标的创建 174
11.2.4 系统光标的使用 175
11.2.5 光标的示例程序 175
11.2.6 光标编程要点总结 177
11.3 定时器的使用 178
11.3.1 定时器的作用 178
11.3.2 MiniGUI中的定时器编程 178
11.3.3 定时器的程序示例 179
11.3.4 定时器编程的要点总结 180
第12章 MiniGUI扩展库的相关内容 181
12.1 MiniGUI扩展库概述 181
12.2 扩展库的初始化和卸载函数 182
12.3 扩展库提供的控件 182
12.3.1 扩展控件的概念 182
12.3.2 扩展控件的示例程序 184
12.4 扩展库提供的对话框 189
12.4.1 mywins库提供的功能 189
12.4.2 文件对话框、新文件对话框和颜色选择对话框 197
12.5 皮肤界面功能 200
12.5.1 MiniGUI提供的皮肤界面功能概述 200
12.5.2 皮肤的组成 201
12.5.3 皮肤窗口、回调函数和设置 204
12.5.4 各种皮肤元素相关功能函数 206
12.5.5 皮肤使用示例 209
第13章 MiniGUI的GDI演示 216
13.1 GDI演示概述 216
13.1.1 GDI演示的目的 216
13.1.2 实现结果 216
13.2 GDI演示程序设计 219
13.2.1 GDI演示程序功能划分 219
13.2.2 程序的结构 219
13.3 GDI演示程序的重点细节分析 219
13.3.1 程序的入口和框架 219
13.3.2 各种GDI演示部分 221
第14章 MiniGUI的对话框演示 228
14.1 对话框演示的功能描述 228
14.1.1 对话框演示的目的 228
14.1.2 实现结果 228
14.2 对话框演示的设计 230
14.2.1 对话框演示程序功能划分 230
14.2.2 程序的结构 230
14.3 对话框演示的重点细节分析 231
14.3.1 程序的入口和框架 231
14.3.2 各个对话框的实现 232
第15章 MiniGUI实现的图像查看器 235
15.1 图像查看器的功能和需求 235
15.1.1 功能和需求 235
15.1.2 实现结果 236
15.2 图像查看器的设计 237
15.2.1 功能模块的划分 237
15.2.2 程序框架的组织及依赖部分 237
15.3 图像查看器的重点细节分析 238
15.3.1 主要函数和数据结构 238
15.3.2 程序的其他功能 244
15.4 设计思想总结 244
第16章 MiniGUI实现记事本 246
16.1 记事本的功能描述 246
16.1.1 功能和需求 246
16.1.2 实现结果 246
16.2 记事本的设计 249
16.2.1 功能模块的划分 249
16.2.2 程序框架的组织及依赖部分 249
16.3 记事本的重点细节分析 250
16.3.1 主要函数和数据结构 250
16.3.2 程序中的其他内容 255
16.4 设计思想总结 256
第17章 MiniGUI 3.0的新特性 258
17.1 MiniGUI 3.0的新功能 258
17.1.1 外观渲染器 258
17.1.2 双向文本的显示与输入 260
17.1.3 不规则窗口 260
17.1.4 字体增强 260
17.1.5 其他增强功能 261
17.2 MiniGUI 3.0的基本示例 261
17.2.1 类似Windows的桌面 261
17.2.2 使用外观渲染器 263
17.2.3 窗口元素的属性 265
17.2.4 不规则窗口区域 269
17.2.5 双缓冲特性 271
17.3 MiniGUI 3.0新功能总结 272
附录A MiniGUI的基本控件 273
附录B MiniGUI的扩展控件 284