文章中即将提到的很多内容点,主要基于开源版本1.6.10,对应的是即将开源的3.0版本,以前的1.3.0(对应商用的2.0.4版本)的内容差异很小,大家可以对照查阅。
大家可以从http://sourceforge.net/projects/minigui/files/minigui/GPL-V1.6.10/这个地址获取开源版本。
MiniGUI及其组件,官方包括MiniGUI, mgplus(基于agg的高级2D图形库,实现路径、反锯齿、颜色模式等功能), mgutils(基于MiniGUI的公共对话框,如颜色对话框,字体选择对话框,保存/打开对话框等),mGNCS(miniGui New Control Set, 为开发miniStudio特地开发的新版本控件集,其中使用C来模拟C++的控件集,它统一了控件接口,易于使用,易于集成在miniStudio中,种类繁多,功能强大),mGEff(MiniGUI的特效库,可以实现各种窗口特效),mgi(minigui的输入法组件,已经基本被废弃,输入法框架被集成在mGNCS中),以及mDolphin(基于webkit的浏览器,也可能会开源)
非官方的组件中,有MGFC(MiniGui Foundation Classes,是仿照MFC做得一个简单的C++封装库,在miniStudio中,被用作GUIBuilder的基础界面库,2008年后就停止更新了)。在http://download.csdn.net/detail/doon/3910390上可以获取一个免费得版本。
以上中,对minigui、mgfc、mGNC将安排一系列的文章,逐步介绍这3个组件。
- GDI -- 即图形绘制系统,它将各种图形绘制到一块内存中,实现显示的效果
- 窗口管理系统-- 管理多个窗口及窗口的交互,涉及到消息管理子系统、多窗口系统、控件管理系统
- common.h 定义最基本的内容,包括minigui的版本、配置信息,基本的数据结构,基本的宏、枚举定义等,必须首先被包含
- minigui.h ,定义了和MiniGUi系统相关的基础函数、全局变量以及MiniGUI的入口函数等
- gdi.h 定义了MiniGUI自带的GDI的函数
- window.h 定义了所有和窗口相关的函数
- fxiedmath.h 定义了定点数运算相关的函数。可以用在不支持浮点数的处理器上,或者用在一些需要高速运算的场合,以提高速度
- control.h 这是所有控件定义头文件,它实际上include了ctrl目录下的头文件。真正的定义都在ctrl目录下。
- include 是内部使用的不对外的头文件的目录
- newgal 是GAL的目录,由于gal部分被重构过,为区别,命名为newgal。gal目录已经被废弃
- newgdi 是GDI的目录,同上。gdi目录以及被废弃
- gui 是实现窗口的主要目录
- font 是字体的实现目录
- ial IAL的目录
- control 是常用控件的实现目录
- ex_ctrl是扩展控件的实现目录,包括listview、iconview等
- textedit 是后来重构的textditor控件的目录
- misc是杂项,包括ini文件管理、字符串池管理等功能
- sysres是系统资源管理目录,其中包括资源管理模块和内建资源的代码
- kernel 主要是消息系统、消息分发系统的代码
- server、client 目录是针对进程版的
- standalone目录下存放的主要是和standalone版本相关的代码