循序渐进学习 MiniGUI 编程
耿岳
蓝点软件(北京)研发中心项目经理
2000/10/27
| Contents: |
| 如何创建窗口 |
| 如何使用资源创建菜单和控件 |
| 如何创建对话框,使用消息循环 |
| 关于作者 |
本文用到的源代码
请首先下载并解开这些源代码
Step 1:使用 MiniGUI 创建窗口
首先回答一个问题:什么是 MiniGUI。简而言之,对用户来说,MiniGUI 就是在控制台上为用户提供一个图形接口,使用户能够利用它提供的函数创建图形界面程序。MiniGUI 占用非常少的系统资源,适用于嵌入式系统应用程序。
出于历史的原因,在开发 MiniGUI 的时候,模拟了 Windows 系统的某些机制,因此如果用户非常了解 Windows 应用程序的开发,则在使用 MiniGUI 的时候不会遇到任何困难。如果用户对 Windows 开发还处于一无所知的程度,那么最好先找一本 Windows 开发的参考资料(并非 MFC),只需要看完消息循环部分就足够了。因此在本文中,将对 MiniGUI 的运行机制不做过多的论述。
先来回顾一下 Windows 应用程序编制的过程:
Setp 2:如何使用资源创建菜单和控件
在使用 Windows 下的集成开发环境时,一般都提供一个资源编辑器,可以创建用户自己的菜单、对话框,并且用来布置对话框中控件的位置。最后将编辑好的资源保存在磁盘文件中,一般取名为 app-name.rc。但是在 MiniGUI 中,还没有开发出一个资源编辑器,因此用户不得不手工完成一切操作。目前 MiniGUI 正在做这方面的工作。
有兴趣的用户可以研究一下 Windows 资源文件。它是一个纯文本文件,定义了菜单的各个项目和控件的大小及 ID。MiniGUI 也基本按这个格式和思路来实现的。但是必须提醒读者的是:在 Windows 资源文件中,控件和对话框的大小是以系统字体为单位的,而在 MiniGUI 中,是以屏幕的象素点为单位的。
在 Step2.c 文件中,要告诉读者如何创建自己的控件和菜单,在 Step3 中,再讲述如何创建对话框。
在 Step2.c 文件中,要告诉读者如何创建自己的控件和菜单,在 Step3 中,再讲述如何创建对话框。
2.1 创建菜单
无论在 Windows 中还是在 MiniGUI 中,属于窗口的菜单都是由以下两个元素构成:
1. 主菜单,它包含了菜单所占用的物理位置和其中的菜单项;
2. 子菜单,当点击菜单项时弹出的菜单。
当然子菜单还可以包含子菜单,此时它成为自己子菜单的主菜单了。在 MiniGUI 中就是按照上面的两个组成部分创建菜单的。
static HMENU createmenu ();
{
HMENU hmnu;
MENUITEMINFO mii;
hmnu = CreateMenu();
memset (&mii, 0, sizeof(MENUITEMINFO));
mii.type = MFT_STRING;
mii.id = 100;
mii.typedata = (DWORD)"File";
mii.hsubmenu = createpmenufile ();
InsertMenuItem(hmnu, 0, TRUE, &mii);
………
………
return hmnu;
}
|
Step3:如何创建对话框,使用消息循环
相关资源
关于作者
作者简介:
耿岳 ,
男,
1998 年获清华大学工学硕士学位, 现任蓝点软件北京研发中心高级项目经理。曾翻译《Visual Basic 5 傻瓜》、《Linux 安全性》、《Linux 编程宝典》等著作。参与编写《操作系统:中文 Linux 》一书。
E-mail:geng_yue@bj.bluepoint.com.cn