MiniGUI程序框架
MiniGUI 体系结构

MiniGUI 体系结构之二1 引言在任何一个足够复杂的 GUI 系统中,处理窗口之间的互相剪切是其首要解决的问题。
因为多窗口系统首先要确保一个窗口中的绘制输出不会影响到另外一个窗口。
为此,GUI 系统一般要利用 Z 序来管理窗口之间的互相剪切关系。
根据窗口在 Z 序中所处的位置,GUI 系统要计算每个窗口受剪切的区域,即剪切域。
通常,窗口的剪切域定义为互不相交的矩形集合。
GUI 系统的底层图形引擎在进行输出时,要根据当前输出的剪切域进行输出的剪切操作。
从而保证窗口的绘制输出不会互相影响。
因为任何一个窗口的创建、销毁、隐藏、显示均有可能影响其他窗口的剪切域,所以首先要有一个高效的剪切域维护算法。
本文将详细描述MiniGUI 中的剪切域生成算法。
许多人对控件(或者部件)的概念已经相当熟悉了。
控件可以理解为主窗口中的子窗口。
这些子窗口的行为和主窗口一样,即能够接收键盘和鼠标等外部输入,也可以在自己的区域内进行输出�D�D只是它们的所有活动被限制在主窗口中。
MiniGUI 也支持子窗口,并且可以在子窗口中嵌套建立子窗口。
我们将MiniGUI 中的所有子窗口均称为控件。
在 Windows 或 X Window 中,系统会预先定义一些控件类,当利用某个控件类创建控件之后,所有属于这个控件类的控件均会具有相同的行为和显示。
利用这些技术,可以确保一致的人机操作界面,而对程序员来讲,可以像搭积木一样地组建图形用户界面。
MiniGUI 使用了控件类和控件的概念,并且可以方便地对已有控件进行重载,使得其有一些特殊效果。
比如,需要建立一个只允许输入数字的编辑框时,就可以通过重载已有编辑框而实现,而不需要重新编写一个新的控件类。
在多语种环境中,输入法是一个必不可少的模块。
输入法提供了将标准键盘输入翻译为适当语种的文字的能力。
MiniGUI 中也包含有标准的中文简体输入法,包括全拼、五笔和智能拼音等等。
本文最后将介绍 MiniGUI 中的输入法模块实现。
教程系列十--使用mStudio开发MiniGUI应用程序

天行健,君子以自强不息;地势坤,君子以厚德载物天 嵌 通 途 工 作 室教程系列<十>使用mStudio开发MiniGUI应用程序工作室网址/embedroadBBS/embedroad/bbs金 陵 科 技 学 院信息技术学院天嵌通途工作室教程系列/ EmbedRoad Studio Tutorials Series/embedroad jinwenjie2007@第 2 页 共 11 页天嵌通途工作室是由学生自发组织的半商业性质的团体, 主要由金陵科技学院嵌入式爱好者以及软件工程爱好者组成,使用mStudio开发MiniGUI应用程序mStudio 是飞漫软件推出的面向MiniGUI 开发的一款可视化集成开发环境,基于Eclipse CDT,为开发人员提供所见即所得(WYSIWYG)的界面设计环境,同时,自动生成代码,维护工程框架等。
运行于Windows 版本的mStudio 采用了MinGW 运行环境。
版本与运行环境:FMSoft mStudio 1.0 with MiniGUI-BE V3.0 for Windows 支持操作系统:Windows 2000 / XP / 7操作系统 支持硬件平台:x86一、软件安装1.1 安装C/C++运行环境如果您未安装VS2005的运行环境,请安装vcredist_x86.exe ,也可以在工作室网站上下载:/embedroad/down.asp 。
如果你已经装过VS2005集成开发环境,则这步可以省略。
1.2 安装JRE或者JDK如果您未按照JRE运行环境,请安装Windows版本JRE 。
(jre-6u19-windows-i586.exe)以上两个全部默认路径安装即可。
JRE 的安装目录是:C:\Program Files\Java。
1.3安装mStudio下载网址:/index.php?id=136&L=1。
运行mStudio-1.0-MiniGUI-BE-3.0-MinGW-en.msi ,这个软件免费,一路默认安装即可。
MiniGUI图形界面实验

学习移植 MiniGUI-STR(for uC/OS-II)软件到 SmartARM2200 开发板的基本方法,然后 编写一个简单的 MiniGUI 应用程序,使用 MessageBox 函数创建一个消息框,消息框中显示 字符串“Hello MiniGUI!” 。 4. 实验预习要求 (1) 仔细阅读<<ARM 嵌入式系统实验教程(二)>>第 1 章的内容,了解 SmartARM2200 开发板的硬件结构,注意 TFT 液晶接口电路和键盘电路。 (2) 阅读 MiniGUI 的文档 <<MiniGUI 用户手册 >> 和 <<MiniGUI 编程指南 >> ,了解 MiniGUI 的基本特点和应用配置选项,以及应用程序的编写。 5. 实验原理 (1) MiniGUI 简介 MiniGUI 项目的最初目标是为基于 Linux 的实时嵌入式操作系统提供一个轻量级的图形 用户界面支持系统,发展到今天,MiniGUI 已进入成熟和稳定阶段,并且所支持的操作系统 已不仅仅限于 Linux,它还可以在 uClinux、uC/OS-II、eCos、VxWorks 等系统上运行。 MiniGUI 为应用程序定义了一组轻量级的窗口和图形设备接口, 利用这些接口, 每个应 用程序可以建立多个主窗口,然后在这些主窗口中创建按钮、编辑框等控制。MiniGUI 还为 用户提供了丰富的图形功能,以显示各种格式的位图并在窗口中绘制复杂图形。 MiniGUI 和嵌入式操作系统的关系如图 1.1 所示,基于 MiniGUI 的应用程序一般通过 ANSI C 库以及 MiniGUI 自身提供的 API 来实现自己的功能。
4
广州周立功单片机发展有限公司 }
Tel: (020)38730976
第05章 MiniGUI菜单编程

int GUIAPI GetMenuItemInfo (HMENU hmnu, int item, BOOL flag, PMENUITEMINFO pmii); int GUIAPI SetMenuItemInfo (HMENU hmnu, int item, BOOL flag, PMENUITEMINFO pmii);
哈尔滨工业大学华德应用技术学院—计算机应用技术系— 哈尔滨工业大学华德应用技术学院—计算机应用技术系—嵌入式系统方向
5.1 菜单的创建和操作
5.1.3 操作菜单项属性
应用程序可以通过 GetMenuItemInfo 函数获得 感兴趣的菜单项属性, 感兴趣的菜单项属性,也可以通过 SetMenuItemInfo 函数设置 感兴趣的菜单项属性。原型如下: 感兴趣的菜单项属性。原型如下:
哈尔滨工业大学华德应用技术学院—计算机应用技术系— 哈尔滨工业大学华德应用技术学院—计算机应用技术系—嵌入式系统方向
5.1 菜单的创建和操作
如果这个菜单项有子菜单, 如果这个菜单项有子菜单,则可通过 设置菜单项的 hsubmenu 变量来指 定菜单项的子菜单句柄( 定菜单项的子菜单句柄(由函数 来创建子菜单句柄) CreatePopupMenu 来创建子菜单句柄)
基于Linux系统的MiniGUI的移植与应用

文分析 了 Mi GU 的结构和特 点, n I i 并结合手持设备 系统的 实例 , 详细介绍 了基于 Ln x操作 系统和 iu
¥C2 1 3 4 0处 理 器 , Mii 对 nGUI..进 行 移植 与 开 发 的 过 程 。 1 2 6 关 键 词 : nGUI移植 ;i x ¥ C 40 Mii ; Ln ;3 2 1 u
维普资讯
第1 4卷 第 4期
V 1 1 o 4 o . 4N .
北京 电子科 技学 院学报
J u n l f B i i g E e t o i c e c n e h ol g I s i u e o r a o e j n l c r n c S i n e a d T c n o y n t t t
嵌入式领域 中出现了专门的公 司致力于开发 Ln x下的 G I从 而大 大提 升了嵌 入式 G I iu U。 U 的研发速度 。随着 G I U 的不 断完善 , 在嵌 入式 Ln x中 出现 了一批 高性 能 、 量级 的 G I 统 , 要包 括 : i u 轻 U系 主 紧缩 的 X n o Mi U 、 c idw 、 Widw、 mG IMi mwn o s
O eG IQ/m ee 。 比较而言 , nG I p n U 、 t b dd等 相 E MiiU 得到许多厂商 的青 睐, 并有着 良好 的发展势头 , 目前 已经在很多项 目中得 以
应用 。
M nG I ii U 是一个 比较成熟 的图形用户接 口支持 系统 , 是一个能广泛应用于各种嵌 入式系统 的高效 、 可靠 、 可定制 、 小巧灵活 的图形用户接 口支持系统 ; 其分层体 系结构 设计使得其具有 较好 的可移植性 。在 MiiU 的开发中 , 用程序是最上层 的开发 , nG I 应 其交互界面直接通过 M nG I ii U 图形系统 的 A I 口函数实现 。 G I P接 Mmi U 屏蔽 了底层显 示、 输入设备 编程 的细节 , 程序员更 能专注 于信息终端 界面 的功 能特色 , 使 从而缩 短 了编程 投入时间 。Mi G I图形 系统经编译安装后一 般 以库 的形式存放 在操作 系统 mU
第九章-数据结构教程(Java语言描述)-李春葆-清华大学出版社

描述
使用其它模块的核心非图形类
图形用户界面(GUI)组件的基础类,包括OpenGL
处理音频、视频、广播、摄像头功能的类
使网络编程更容易,更方便的类
QML和JavaScript的类
自定义用户界面构建高度动态的应用程序的声明性框架
使用SQL集成数据库的类
表9-1 Qt基本模块组成
进行Qt应用程序和I函数和直观的C++ 类库 (3)支持 2D/3D 图形渲染,支持 OpenGL (4)具有跨平台 IDE 的集成开发工具
(5)跨桌面和嵌入式操作系统的移植性
(6)大量的开发文档
(7)国际化
按不同的版本发行: Qt商业版:提供给商业软件开发。它们提供传 统商业软件发行版并且提供在协议有效期内的 免费升级和技术支持服务。 Qt开源版:仅仅为了开发自由和开放源码软件, 提供了和商业版本同样的功能。GNU通用公共 许可证下,它是免费的。
第9章 QT图形界面应用程序开发基础
目录
9.1 Qt简介 9.2 Qt5概述 9.3 信号和插槽机制 9.4 Qt程序设计 9.5 Qt数据库应用
与普通GUI不同的是,嵌入式GUI的要求是轻量 级的,如在嵌入式linux中使用的图形界面系统。 同时嵌入式GUI还具有可定制,高可靠性,可裁 减性等特点。嵌入式GUI的开发系统主要有X Window、MiniGUI、OpenGL、Qt等。
9.1 Part One
Qt简介
Qt是一个跨平台应用程序和图形用户界面GUI 开发框架。使用 Qt 只需一次性开发应用程序, 无须重新编写源代码,便可跨不同桌面和嵌入 式操作系统部署这些应用程序。
Qt是挪威Trolltech公司的标志性产品,于1991 年推出。2008年,Trolltech被诺基亚公司收购, QT也因此成为诺基亚旗下的编程语言工具。 2012年8月芬兰IT业务供应商Digia全面收购诺 基亚Qt业务及其技术。
linux minigui的用法
linuxminigui的用法在Linux中,GUI工具包是一个很重要的库,因为它可以让开发人员更方便地开发图形用户界面应用程序。
尽管有很多不同的图形工具包可用,但是其中最流行的是GTK+。
不过,如果您需要使用另一种库来开发图形应用程序,LinuxMiniGUI可能是一个很好的选择。
它是一个小巧且轻量级的图形用户界面库,专门为Linux系统设计。
这篇文章将向您展示如何使用LinuxMiniGUI开发图形用户界面应用程序。
一、安装LinuxMiniGUI要使用LinuxMiniGUI,您需要首先将其安装到您的Linux系统中。
您可以使用包管理器来安装它。
例如,在Ubuntu上,您可以使用以下命令来安装MiniGUI:```arduinosudoapt-getinstalllibmigui3libmiguitpl1```二、创建简单的GUI应用程序安装完MiniGUI后,您可以使用GTK+工具来创建简单的GUI应用程序。
但是,如果您想要使用MiniGUI本身,您需要编写一些代码来创建窗口、按钮和其他GUI元素。
以下是一个简单的示例代码:```c#include<windows.h>#include<migui/migui.h>intWINAPIWinMain(HINSTANCEhInst,HINSTANCEhPrevInst,LPSTRa rgs,intncmdshow){MigWindow*window=migui_win_create(NULL,"MyWindow","MyWind owTitle",WINDOW_TYPE_NORMAL);MigLayout*layout=migui_lay_create(window,NULL);migui_lay_add(layout,migui_btn_create(window,"MyButton"));migui_win_show(window);while(1){MSGmsg;while(GetMessage(&msg,NULL,0,0)){TranslateMessage(&msg);DispatchMessage(&msg);}}return0;}```这段代码创建了一个窗口和一个按钮。
基于ARM的MiniGUI设计与实现
Mi G l n U 的设计与移植 ,具有指导研发此类设计的实际意义。 i 关键词 : R A M;MiiUI nG ;网络通信 ;移植
中图分类号 : P 7 T 23
文献标识码 : A
具有较好的可移植性。图1 中,顶层A I P 嵌 入式系统广泛应用于工业领域和家用领域 ,如 用分层设计 , 汽车、安全系统 、医疗仪器 、D DV D V [C 播放机 、电 应用程序接 口,在M n U 的开发中,交互界面直接 iG I i 视机顶盒、掌上电脑及手机等。而每一种应用都要求 通过M n U 图形系统的A I 口函数实现。MiG I ii I G P接 n U i
字体 ;支持多种操作系统 ;支持多种图形文件格式 ; 2 系统设计方案
可 配 置 成 MiiU — hed、 MiiU— i nG IT ras nG ILt Mii e及 n
系统硬件结构 :本系统中, 硬件主要由嵌入式开 发板、P 机、路由器等组成,如图2 C 所示。主控芯片
G IS na nJ行模式 ; U— t dl e a o  ̄ 遵循L P 条款。 GL
技术 交流
2 0 . 数 据 通 信 0 86
T c n lg s u so e h oo y Dic s in
基于A M的Mii U 设计与实现 R nG I
王 波’ 冷建筑 (.重庆大学通信工程学 院 重庆 4 0 4 ; 1 0 0 4 2 .中国人 民解放军7 1 8 队 重庆4 2 8 ) 8 部 5 0 24 摘 要 :采 用A RM 的3 4微 处 理 器 为硬 件 平 台 ,分 析 了Mii 的特 点 和 体 系结 构 ,将 网络 通信 与 2-  ̄ nGUI MiiUI nG 相结 合 ,设 计 了一个嵌 入 式Ln x iu 下的 图形界 面终端 ,并 成功应 用 到数据 采 集平 台 中 ;详 细阐述 了
MiniGUI 编程模型(二)
一、对话框
在 MiniGUI 中,对话框是一类特殊的主窗口, 这种主窗口只关注与用户的交互――向 用户提供输出信息,但更多的是用于用户输入。 对话框可以理解为子类化之后的主窗口类。 它针对对话框的特殊性(即用户交互)进行了 特殊设计。
1、对话框模板
在 MiniGUI 中,用两个结构来表示对话框模板 (minigui/window.h),详见PDF文档: 结构 CTRLDATA 用来定义控件,DLGTEMPLATE 用来 定义对话框本身。在程序中,分两步来做: (1)首先利用 CTRLDATA 定义对话框中所有的控件, 并用数组表示。控件在该数组中的顺序,也就是对话框 中用户按 TAB 键时的控件切换顺序。 (2)然后定义对话框,指定对话框中的控件数目,并指 定 DLGTEMPLATE 结构中的 controls 指针指向定义控件 的数组。
HWND GUIAPI CreatWindowEx (const char *spClassName,const char *spCaption,DWORD dwstyle,DWORD dwExstyle, Int id,int x,int,y,int w,int h,HWND hParentWnd,DWORD dwAddData);
如前所述,控件是和用户交互的主角。当控件 上发生了某种时间时,控件将会想其父窗口 发送一条消息来通知所发生的事件,这里的 父窗口既可以是主窗口,也可以是父控件。 但是通常来说应该将控件的父窗口设为主窗 口,因为消息队列通常是由主窗口的窗口过 程处理的。 实际上MiniGUI中还有控件类的概念,但是作 为初学者,先用熟练预先定义好的类是最重 要的。
int GUIAPI DialogBoxIndirectParam (PDLGTEMPLATE pDlgTemplate, HWND hOwner, WNDPROC DlgProc, LPARAM lParam); BOOL GUIAPI EndDialog (HWND hDlg, int endCode); void GUIAPI DestroyAllControls (HWND hDlg); 在 DialogBoxIndirectParam 中,需要指定对话框模板(pDlgTemplate)、 对话框的托管主窗口句柄(hOwner)、对话框回调函数地址DlgProc,以 及要传递到对话框过程的参数值(lParam)。EndDialog 用来结束对话框 过程。DestroyAllControls 用来销毁对话框(包括主窗口)中的所有子控件。
miniGUI演讲稿
对于进程版的MiniGUI来说,应用程序的 消息传递通过套接字来进行,相应的模型 是:
程序(进程)1 程序(进程)2 套接字 程序(进程)3
服务器程序
鼠标
键盘
MiniGUI-Standalone模式
• MiniGUI-Standalone模式是不需要多线程和多进程 支持的,可以以独立的方式运行的。这个模式适 合运行在功能单一的应用场合。
MiniGUI在Linux下安装: libMiniGUI-1.6.10.tar.gz MiniGUI的源码包
MiniGUI-res-1.6.10.tar.gz MiniGUI的资源包,包 括基本的字符,鼠标,图标等
mg-samples-1.6.10.tar.gz MiniGUI的一些基本的例 子。 qvfb-1.1.tar.gz qvfb源码包 jpegsrc.v6b.tar.gz 支持jpeg的源码包
可配置性
MiniGUI可配置性也很高,MiniGUI 可以被配置成基于线程MiniGUIThreads 运行模式还是基于进程的 MiniGUI-Processes 运行模式,或者只 是最简单的MiniGUI-Standalone 运行模 式,此外它还能配置字体类型,字符 集,图像支持格式,所需要的控件类, 整体风格,等等。
• 4. 通过SendNotifyMessage 发送。该函数向指定的窗口发 送通知消息,将消息放入消息队列后立即返回。由于这种 消息和邮寄消息不同,是不允许丢失的,因此,系统以链 表的形式处理这种消息。
• 5. 通过SendAsyncMessage 发送。利用该函数发送的消息 称为“异步消息”,系统直接调用目标窗口的窗口过程。 • 在MiniGUI 中,一个创建了窗口的线程一般拥有一个消息 队列
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
//创建主窗口 hMainWnd = CreateMainWindow (&CreateInfo);
• CreateMainWindow创建主窗口,参数是指向 MAINWINCREATE结构的指 针— CreateInfo,返回值为所创建的主窗口的句柄。MAINWINCREATE 结 构描述一个主窗口的属性。
IT Education & Training
版权所有 计算机协会 2006,By CSK
6
6
MiniGUI程序架构
程序架构分析:
• 3) 设置主窗口属性 ——MAINWINCREATE 结构描述
Neusoft Institute of Information
• • • • • • • • • • • • • • •
• MiniGUI 对 MiniGUI程序维护一种名叫消息队列的数据结构。在发生事件 之后,MiniGUI 将事件转换为一个消息,并将消息放入目标程序的消息队 列之中。应用程序现在的任务就是执行消息循环代码,不断地从消息队 列中取出消息,进行处理。
• • • • •
//消息循环 while (GetMessage(&Msg, hMainWnd)) { TranslateMessage(&Msg); DispatchMessage(&Msg); }
IT Education & Training
版权所有 计算机协会 2006,By CSK
7
7
MiniGUI程序架构
程序架构分析:
Neusoft Institute of Information
• 3) 设置主窗口属性 ——MAINWINCREATE 结构描述 • CreateInfo.dwStyle = WS_VISIBLE | WS_BORDER | WS_CAPTION; • 设置主窗口风格,这里把窗口设为初始可见的,并具有边框和标题 栏。 • CreateInfo.deExStyle = WS_EX_NONE; • 设置主窗口的扩展风格,该窗口没有扩展风格。 • CreateInfo.spCaption = “HelloWorld” • 设置主窗口的标题为”HelloWorld”。
IT Education & Training
版权所有 计算机协会 2006,By CSK
9
9
MiniGUI程序架构
程序架构分析:
Neusoft Institute of Information
• 3) 设置主窗口属性 ——MAINWINCREATE 结构描述 • CreateInfo.iBkColor = PIXEL_lightwhite; • 设置主窗口的背景色为白色,PIXEL_lightwhite 是 MiniGUI预定义 的象素值。 • CreateInfo.dwAddData = 0; • 设置主窗口的附加数据,该窗口没有附加数据。 • CreateInfo.hHosting = HWND_DESKTOP; • 设置主窗口的托管窗口为桌面窗口。
• 设置主窗口在屏幕上的位置,该窗口左上角位于(0, 0),右下角位 于(320, 240)。
IT Education & Training
版权所有 计算机协会 2006,By CSK
11
11
MiniGUI程序架构
程序架构分析:
• 4) 创建和显示主窗口
• •
Neusoft Institute of Information
• •
//显示主窗口 ShowWindow(hMainWnd, SW_SHOWNORMAL);
• 显示窗口在屏幕上。
IT Education & Training
版权所有 计算机协会 2006,By CSK
12
12
MiniGUI程序架构
程序架构分析:
• 5) 进入消息循环
Neusoft Institute of Information
4
4
Mi) 头文件(前四个为必须)
• • • • •
Neusoft Institute of Information
#include #include #include #include #include
<minigui/common.h> <minigui/minigui.h> <minigui/gdi.h> <minigui/window.h> <minigui/control.h>
Neusoft Institute of Information
IT Education & Training
版权所有 计算机协会 2006,By CSK
14
14
MiniGUI程序架构
程序架构分析:
• 6) 窗口过程函数
Neusoft Institute of Information
• 在 helloworld.c程序中,窗口过程是HelloWinProc。 • CreateMainWindow 函数根据 MAINWINCREATE 结构类型的参 数中指定的窗口过程创建主窗口。 • 窗口过程函数由 MiniGUI进行调用。 • • 窗口过程函数不予处理的消息应该传给 DefaultMainWinProc 函数 进行缺省处理。
Neusoft Institute of Information
MiniGUI程序框架
成都东软职业技术学院 嵌入式教研室
MiniGUI程序架构
程序架构:
Neusoft Institute of Information
IT Education & Training
版权所有 计算机协会 2006,By CSK
IT Education & Training
版权所有 计算机协会 2006,By CSK
10
10
MiniGUI程序架构
程序架构分析:
Neusoft Institute of Information
• 3) 设置主窗口属性 ——MAINWINCREATE 结构描述 • CreateInfo.MainWindowProc = HelloWinProc; • 设置主窗口的窗口过程函数为 HelloWinProc,所有发往该窗口的 消息由该函数处理。 • • • • CreateInfo.lx = 0; CreateInfo.ty = 0; CreateInfo.rx = 320; CreaetInfo.by=240;
IT Education & Training
版权所有 计算机协会 2006,By CSK
5
5
MiniGUI程序架构
程序架构分析:
• 2) MiniGUI程序入口点
• •
Neusoft Institute of Information
int MiniGUIMain (int argc, const char* argv[]) { }
• • • • •
common.h 包括 MiniGUI常用的宏及数据类型的定义。 minigui.h 包含了全局的和通用的接口函数以及某些杂项函数的定义。 gdi.h包含了绘图函数的接口的定义 。 window.h 包含了窗口有关的宏、数据类型、数据结构的定义以及函数接口声明。 control.h 包含了 所有内建控件的接口定义。
//窗口信息 CreateInfo.dwStyle = WS_VISIBLE | WS_BORDER | WS_CAPTION; //风格 CreateInfo.dwExStyle = WS_EX_NONE; CreateInfo.spCaption = "Hello, world!"; //标题名 CreateInfo.hMenu = 0; //无菜单 CreateInfo.hCursor = GetSystemCursor(0); CreateInfo.hIcon = 0; CreateInfo.MainWindowProc = HelloWinProc; //消息处理过程函数 CreateInfo.lx = 0; CreateInfo.ty = 0; CreateInfo.rx = 320; CreateInfo.by = 240; CreateInfo.iBkColor = COLOR_lightwhite; CreateInfo.dwAddData = 0; CreateInfo.hHosting = HWND_DESKTOP; //托管窗口
IT Education & Training
版权所有 计算机协会 2006,By CSK
15
15
MiniGUI程序架构 程序架构分析:
主窗口创建时消息动作过程: SendMessage MSG_CREATE CREATEMAINWINDOW SHOWWINDOW
2
2
MiniGUI程序架构
程序架构分析:
• • • 分析 MiniGUI应用程序 helloworld 源代码在src目录下 helloworld 程序运行结果
Neusoft Institute of Information
IT Education & Training
版权所有 计算机协会 2006,By CSK
IT Education & Training
版权所有 计算机协会 2006,By CSK
8
8
MiniGUI程序架构
程序架构分析:
Neusoft Institute of Information
• 3) 设置主窗口属性 ——MAINWINCREATE 结构描述 • CreateInfo.hMenu = 0; • 设置主窗口的主菜单,该窗口没有主菜单。 • CreateInfo.hCursor = GetSystemCursor(0); • 设置主窗口的光标为系统缺省光标。 • CreateInfo.hIcon = 0; • 设置主窗口的图标,该窗口没有图标。