Minigui 编程指南 V2.0-4

Minigui 编程指南 V2.0-4

MiniGUI 编 程 指 南 版本 2.0 修订号 4 适用于 MiniGUI Ver 2.0.4/1.6.10 北京飞漫软件技术有限公司 2007 年 8 月 MiniGUI 编程指南 V2.0-4 简 介 由北京飞漫软件技术有限公司开发的 MiniGUI(http://www.minigui.com),是国内为数 不多的几大国际知名自由软件之一。其目标是为实时嵌入式操作系统建立一个跨操作系统的、 快速、稳定和轻量级的图形用户界面支持系统。我们将 MiniGUI 定义为“针对嵌入式设备的、 跨操作系统的图形界面支持系统”,属于一种“嵌入式图形中间件”软件产品。目前,MiniGUI 已成为跨操作系统的图形用户界面支持系统,可在 Linux/uClinux、eCos、VxWorks、pSOS、 ThreadX、Nucleus、uC/OS-II、OSE 等操作系统,以及 Win32 平台上运行。 目前,MiniGUI 可免费下载的稳定版本(遵循 GPL)是 MiniGUI-STR V1.6.2 和 MiniGUI V1.3.3 。你可以从北京飞漫软件技术有限公司网站的“下载”区 (http://www.minigui.com/download/cindex.shtml)下载上述 GPL 版本的源代码、开发文 档及示例程序。需要注意的是:免费下载的 MiniGUI 只能用于开发 GPL 或其它公开源码 的应用软件,如果你要利用 MiniGUI 开发专有或商业软件,则必须从北京飞漫软件技术有 限公司购买商业授权。飞漫软件将为购买 MiniGUI 商业授权的用户提供最新的 MiniGUI 增 值版产品,并提供相关的移植及开发技术支持服务。 本指南详细讲述了利用 MiniGUI 开发嵌入式应用软件的基础知识、技术资料和开发技 巧,内容涉及到 MiniGUI 编程的各个方面,包括消息循环和窗口过程、对话框和控件、图 形接口等。有关 MiniGUI 应用编程接口的详细描述,敬请参考《MiniGUI API Reference Manual》。 I MiniGUI 编程指南 V2.0-4 版权声明 《MiniGUI 编程指南》版本 2.0 修订号 4,适用于 MiniGUI Version 2.0.4/1.6.10。 版权所有 (C) 2003~2007,北京飞漫软件技术有限公司,保留所有权利。 无论您以何种方式获得该手册的全部或部分文字或图片资料,无论是普通印刷品 还是电子文档,北京飞漫软件技术有限公司仅仅授权您阅读的权利,任何形式的 格式转换、再次发布、传播以及复制其内容的全部或部分,或将其中的文字和图 片未经书面许可而用于商业目的,均被视为侵权行为,并可能导致严重的民事或 刑事处罚。 II MiniGUI 编程指南 V2.0-4 目 录 简 介................................................................................................................... I 版权声明.................................................................................................................. II 1 前言..................................................................................................................... 1 1.1 相关的文档 ................................................................................................................... 1 1.2 本指南的组织 ................................................................................................................ 2 1.3 获得本指南中的例子...................................................................................................... 2 1.4 示例程序的编译及运行环境............................................................................................ 3 1.5 版权和许可条款............................................................................................................. 4 I MiniGUI 编程基础...................................................................................... 5 2 开始 MiniGUI 编程 ................................................................................................ 7 2.1 基本的编程概念............................................................................................................. 7 2.1.1 事件驱动编程............................................................ 7 2.1.2 MiniGUI 的三种运行模式.................................................. 7 2.2 一个简单的 MiniGUI 程序............................................................................................... 9 2.2.1 头文件................................................................. 11 2.2.2 程序入口点............................................................. 11 2.2.3 MiniGUI-Processes 模式下加入层......................................... 11 2.2.4 创建和显示主窗口....................................................... 12 2.2.5 进入消息循环........................................................... 13 2.2.6 窗口过程函数........................................................... 15 2.2.7 屏幕输出............................................................... 15 2.2.8 程序的退出............................................................. 16 2.3 编译、链接和运行 ....................................................................................................... 16 2.3.1 编译 MiniGUI 程序....................................................... 16 2.3.2 MiniGUI 的函数库 ....................................................... 17 2.4 为 MiniGUI 应用程序编写 Automake/Autoconf 脚本 ................................................... 17 3 窗口和消息......................................................................................................... 23 3.1 窗口系统和窗口........................................................................................................... 23 3.1.1 什么是窗口系统......................................................... 23 3.1.2 窗口的概念............................................................. 24 3.2 MiniGUI 的窗口............................................................................................................ 24 3.2.1 窗口类型............................................................... 24 3.2.2 主窗口................................................................. 25 III MiniGUI 编程指南 V2.0-4 3.2.3 窗口风格............................................................... 26 3.2.4 主窗口的销毁........................................................... 27 3.2.5 对话框................................................................. 28 3.2.6 控件和控件类........................................................... 28 3.2.7 输入法窗口............................................................. 31 3.3 消息与消息处理........................................................................................................... 33 3.3.1 消息 ................................................................... 33 3.3.2 消息的种类............................................................. 33 3.3.3 消息队列............................................................... 34 3.3.4 消息的处理............................................................. 35 3.3.5 发送和投递消息......................................................... 37 3.3.6 MiniGUI-Processes 的专用消息处理函数 .................................. 38 3.4 几个重要的消息及其处理 ............................................................................................. 39 3.4.1 MSG_NCCREATE........................................................... 39 3.4.2 MSG_SIZECHANGING....................................................... 39 3.4.3 MSG_SIZECHANGED 和 MSG_CSIZECHANGED ................................... 40 3.4.4 MSG_CREATE............................................................. 40 3.4.5 MSG_FONTCHANGING....................................................... 40 3.4.6 MSG_FONTCHANGED........................................................ 41 3.4.7 MSG_ERASEBKGND......................................................... 41 3.4.8 MSG_PAINT.............................................................. 42 3.4.9 MSG_CLOSE.............................................................. 43 3.4.10 MSG_DESTROY........................................................... 43 3.5 通用窗口操作函数 ....................................................................................................... 44 4 对话框编程基础.................................................................................................. 47 4.1 主窗口与对话框........................................................................................................... 47 4.2 对话框模板 ................................................................................................................. 47 4.3 对话框回调函数........................................................................................................... 49 4.4 MSG_INITDIALOG 消息 .............................................................................................. 50 4.5 模态与非模态对话框.................................................................................................... 51 4.6 对话框相关的控件风格和操作函数................................................................................ 52 5 控件编程基础 ..................................................................................................... 55 5.1 控件和控件类 .............................................................................................................. 55 5.2 利用预定义控件类创建控件实例 ................................................................................... 56 5.3 控件编程涉及的内容.................................................................................................... 58 IV MiniGUI 编程指南 V2.0-4 5.4 控件专用的操作函数.................................................................................................... 61 6 控件高级编程 ..................................................................................................... 63 6.1 自定义控件 ................................................................................................................. 63 6.2 控件的子类化 .............................................................................................................. 63 6.3 控件的组合使用........................................................................................................... 64 7 菜单................................................................................................................... 69 7.1 菜单概念..................................................................................................................... 69 7.2 创建和操作菜单........................................................................................................... 69 7.2.1 创建普通菜单........................................................... 69 7.2.2 创建弹出式菜单......................................................... 70 7.2.3 MENUITEMINFO 结构...................................................... 71 7.2.4 操作菜单项............................................................. 72 7.2.5 删除和销毁菜单或菜单项................................................. 73 7.2.6 MSG_ACTIVEMENU 消息.................................................... 73 7.3 编程实例..................................................................................................................... 73 8 滚动条 ............................................................................................................... 77 8.1 滚动条概念 ................................................................................................................. 77 8.2 使能、禁止滚动条 ......................................................................................................

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    449 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us