MiniGUI入门
minigui基础知识点

一、minigui的输入设备概念1、键盘输入击键消息:真实的物理按键,用扫描码来表示。
字符消息:ASCII码。
ALT键按下时,会产生系统击键消息,非系统击键产生非系统击键消息。
系统击键消息被用来控制菜单的激活,非系统纪检消息被用来控制应用程序。
击键消息的wParam参数表示该键的扫描码,lParam表示参数特殊键的状态标识,通常是组合键,例如shift,Alt和ctrl。
****************************************************************** ****************************************************************** Vmware Easy InstallPLEASE WAIT! VMware Tools is currently beinginstalled on your system. Depending on theversion of Ubuntu you are installing, you maylog in below and use the system duringintallation. Otherwise, please wait for thegraphical environment to launch. Thank you.************************************************************************************************************************************解决-1:你的用户名你的密码sudo /etc/init.d/lightdm start输入你的密码或者先输入sudo -s输入你的密码,切换到root权限之后cd /etc/init.d再输入lightdm start耐心等待一会,就会出现图形界面了。
MiniGUI 编程模型(一)

(2) 新建工程 )
使用VC的【文件|新建】菜单,选“工程”标签,选择win32 console application 工程类型。输入文件名HelloWorld,选 择工作路径为解压后了路径,比如解压后放在 E:\miniguidoc\minigui-dev-1.6.2-for-win32\目录下, 那么工程的保存路径应为E:\miniguidoc\minigui-dev-1.6.2for-win32\HelloWorld。如图:
按确定后选择An empty project。如图 按确定后选择 。
按下Finish即可。 即可。 按下 即可
(3)输入源代码 输入源代码
1、新建立文件输入代码,可以复制上文中的源 代码。保存明为helloWorld.c。 2、使用菜单【project | add to project | files 】 打开对话框,选择我们刚才建立的helloWorld.c
到这一步,编译设置全部完成! 到这一步,编译设置全部完成!
(5)编译工程 编译工程
现在就可以编译工程了,使用 的工具 现在就可以编译工程了,使用VC的工具
具体方法参考VC使用手册。 具体方法参考 使用手册。 使用手册
(6)运行 程序 运行
要运行工程先要把我们解压后的目录下的wvfb.exe 要运行工程先要把我们解压后的目录下的 (windows下的 下的minigui窗口程序仿真器)运行起来。 窗口程序仿真器)运行起来。 下的 窗口程序仿真器 如图
然后运行HelloWorld。使用VC的工具栏 。使用 的工具栏 然后运行
运行效果如下: 运行效果如下:
2、选择 、选择Linux页面,选择 页面, 选项。 页面 选择Category为General选项。 为 选项 在Object/library modules:下面的编辑框后面添 : 加minigui.lib pthreadVC1.lib两个库。
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;}```这段代码创建了一个窗口和一个按钮。
MiniGUI学习笔记

MiniGUI学习笔记关于操作系统和上层软件的关系,某些操作系统被称为内核空间(kernel space),而操作系统以上的部分被称为用户空间(user space)。
按照功能,操作系统以上的部分可以分为中间件和上层应用两个部分。
中间件一般提供了一些相对底层的软件层次的功能。
它的实现一般不包括应用程序的逻辑,而是向上层软件提供了各种方便的应用程序接口(API)。
GUI系统的移植实现基础包含输出设备和输入设备两个方面在学习一个嵌入式GUI特性和功能的时候,需要关注可移植性、稳定性和可靠性、系统开销、可配置性等几个方面的内容。
第二章.MiniGUI的特点和发展作为操作系统和应用程序之间的中间件,MiniGUI将底层操作系统及硬件平台差别隐藏了起来,并对上层应用程序提供了一致的功能特性,这些功能特性主要包括:1)支持不同的硬件开发平台2)跨操作系统支持3)多运行模式支持。
为了适应不同的操作系统运行环境,MiniGUI可配置成三种运行模式:MiniGUI-Threads(线程模式)、MiniGUI-Processes(进程模式)及MiniGUI-Standalone(独立模式) 4)内建资源支持。
可以将MiniGUI所使用的资源,诸如位图、图标和字体等编译到函数库中。
5)完备的多窗口机制和消息传递机制6)提供常用的控件类。
7)对话框和消息框支持8)其他GUI元素9)界面皮肤支持10)支持低端显示设备(比如单色LCD)和高端显示设备(8位色及以上显示设备)。
通过MiniGUI的图形抽象层及图形引擎技术,还可以支持特殊的显示设备,比如YUV显示设备。
11)提供增强GDI函数。
12) Windows的资源文件支持13)各种流行图像文件支持14)多字符集和多字体支持15)多种键盘布局的支持16)针对嵌入式系统的特殊支持,包括一般性的I/O流操作,字节序相关函数等17)副屏支持。
硬件适配性:可运行于各种含有MMU(内存管理单元)的32位处理器架构之上。
第02章 MiniGUI的安装和使用

计算机应用技术系
第2章 MiniGUI的安装和使用
2.1 MiniGUI的组成
2.2 建立MiniGUI的PC运行环境
2.3 第一个MiniGUI程序 2.4 MiniGUI编程基础
哈尔滨工业大学华德应用技术学院—计算机应用技术系—嵌入式系统方向
第2章 MiniGUI的安装和使用
哈尔滨工业大学华德应用技术学院—计算机应用技术系—嵌入式系统方向
2.1 MiniGUI的组成
资源包
minigui-res-str-1.6.tar.gz。 这是针对MiniGUI-STR 的基本资 源包,其中包含了运行MiniGUISTR 1.6.2 需要的基本字体 (ISO8859-1) 、鼠标光标、图 标和位图等文件,还包括16 点阵 中文简体(GB2312)一款。
1.嵌入式目标系统不具备开发能力
2.Linux嵌入式系统与PC具有相似性
练习MiniGUI程序的编写和调试,熟 悉MiniGUI的配置、编译操作、应用 程序结构和API函数,为在目标产品 上应用MiniGUI打下基础。
哈尔滨工业大学华德应用技术学院—计算机应用技术系—嵌入式系统方向
2.2 建立MiniGUI的PC运行环境
哈尔滨工业大学华德应用技术学院—计算机应用技术系—嵌入式系统方向
2.3.2 图形引擎和输入引擎
MiniGUI抽象层的优越性:
图形和输入抽象层的设计,为实现 MiniGUI 跨操作系统、跨硬件平台提供了 非常大的便利。
哈尔滨工业大学华德应用技术学院—计算机应用技术系—嵌入式系统方向
2.3.2 图形引擎和输入引擎
哈尔滨工业大学华德应用技术学院—计算机应用技术系—嵌入式系统方向
第21章 MiniGUI图形界面设计

21.1.3 MiniGUI运行模式
21.2 MiniGUI的安装和使用
•
Байду номын сангаас
现有的资料主要介绍了MiniGUI在RedHat9.0下的安装 和配置,而对其他Linux发行版下应用的资料还很少。 本章将介绍MiniGUI在Ubuntu下的安装和配置方法, 以及如何使用eclipse进行MiniGUI的嵌入式开发。
• •
(3)如果没有出现错误,就可以继续执行make和 make install命令编译并安装libminigui库文件: $make
(4)默认情况下,MiniGUi的函数库将安装在 /usr/local/lib目录中。您应该确保该目录已经列在 /etc/ld.so.conf文件中。修改/etc/ld.so.conf文件,如果 该文件不存在则新建一个。将 /usr/local/lib目录添加到 该文件最后一行。
• • • •
21.2.5 交叉编译MiniGUI库
• • • 与编译PC上的libminigui的过程是大致相同的,只需在 make menu出现的配置界面中略做配置即可。 “Development environment options ” 按回车键后进入子菜单,需要配置的项如图21-2所示:
1. system段
•
system段中指定了MiniGUI要使用的图形引擎、输入 引擎以及鼠标设备和协议类型,分别由gal_engine、 ial_engine、mdev和mtype键指定。因为MiniGUI库 中可以同时包含多个图形引擎和多个输入引擎,可以分 别通过gal_engine、ial_engine指定要使用哪个图形引 擎。
21.2.6 交叉编译例程
•
• • • • •
学习MiniGui之窗口创建篇

学习MiniGui之窗口创建篇最近在学习MiniGui,将一些分析的结果贴出来供大家参考,同时欢迎大家的指正。
图形编程中,窗口是一个重要的概念,窗口其实是一个矩形框,应用程序可以使用其从而达到输出结果和接受用户输入的效果。
窗口系统(Window System)界于操作系统层次之上,它是一个软件系统,负责把显示屏幕分隔为不同的部分来帮助用户管理和控制不同的显示环境,它提供基于窗口的工作模式。
在Linux上面,X 就是一个典型的窗口系统吧。
在MiniGui中有三种窗口类型:主窗口,对话框和控件窗口。
主窗口作为应用程序的主界面或开始界面。
子窗口通常是控件窗口,也可以是自定义窗口类,这里的控件窗口说白了就是一些窗口上面的控件,比如按钮,编辑框等。
对话框其实就是主窗口,只不过一般为了完成特殊用途,所以在此加以区分。
下面我们一起来看看这三种窗口类型的创建吧。
首先看CreateMainWindow函数,它创建一个主窗口:由于代码比较长,这里就不全部贴出了,主要是说说关键的部分。
CreateMainWindow函数通过接受PMAINWINCREATE类型的参数而创建一个窗口,并返回其句柄。
关于PMAINWINCREATE结构的具体成员变量,大家可以去查看源码。
下面主要对函数内部做个简单介绍。
1.声明一个PMAINWIN类型,并分配空间,该变量用来存放创建的主窗口的信息2.说下面的代码之前,先说说托管(Hosting)窗口和被托管(Hosted)窗口吧。
我们知道MiniGui内部实现了消息机制,即当有键盘输入事件发生时,就往消息队列中发送键盘消息,而一般是主窗口会不停的从消息队列中取出消息来处理,或者自己响应,或者忽略,或者派发给其他的窗口。
那么这里就有一个问题,消息队列是每个主窗口都有一个呢,还是所有的主窗口都使用同一个消息队列?在MiniGui中有个特殊的主窗口HWND_DESKTOP,它是所有窗口的父窗口,直观的说就是整个桌面的窗口。
minigui说明书

MiniGUI 特性说明书本文档说明MiniGUI 所支持的功能特性。
一、概述MiniGUI 是Linux 控制台上运行的,基于SVGALib 和LinuxThread 库的多窗口图形用户界面支持系统。
MiniGUI 采用了类Win32 的API 接口,实现了简化的类Windows 98 风格的图形用户界面。
图形用户界面在许多情况下都优于字符界面,其最大的优点是使应用程序的操作简单易学。
在MiniGUI 中,图形用户界面包括如下基本元素:|-----主窗口|-------------窗口非客户区||-------------窗口标题||-------------窗口边框||-------------菜单栏||-------------窗口客户区||-------------子窗口(窗片或控件)||-------------对话框|-----------对话框控件图 1.1 图形用户界面的基本元素1.1 窗口MiniGUI 中的窗口基本分四类,分别为主窗口、对话框、控件和主窗口中的窗片。
MiniGUI 中的主窗口和Windows 应用程序的主窗口概念类似,但略微有些不同,MiniGUI 中的每个主窗口对应于一个单独的线程,通过函数调用可建立主窗口以及对应的线程。
每个线程有一个消息队列,主窗口从这一消息队列中获取消息并由窗口过程(回调函数)进行处理。
MiniGUI 中的对话框是一种特殊的窗口,对话框一般和控件一起使用,这两个概念和Windows 的相关概念是类似的。
MiniGUI 支持的控件类型有:✓静态框:文本、图标或矩形框等。
这种控件的属性一般不会在运行时发生变化。
✓文本框:单行或多行的文本编辑框。
✓按钮:单选钮、复选框和一般按钮等。
✓其他特殊控件。
窗片是MiniGUI 所特有的,窗片实际是主窗口的子窗口,只存在于主窗口中。
为了处理上的方便,主窗口的子窗口只以平铺的形式出现,因此我们将这种子窗口称为“窗片”或“窗格”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基本字体、图标、位图和鼠标光标
libminigui-1.6.10.tar.gz:库 mg-samples-2.0.4:示例程序 qvfb-1.0.tar.gz
二、具体安装步骤 1、 首先把需要的文件拷贝到要安装minigui的
配置好后输入“make”命令编译库文件,如下图所示: (此过程需要一段时间)
编译好库文件后输入“make install”命令,安装库文 件,如下图所示:
默认情况下,minigui的函数库将安装在 “/usr/local/lib”目录中,应确保该目录已经列在 “/etc/ld.so.conf”文件中。修改“/etc/ld.so.conf”文 件,命令为: vi /etc/ld.so.conf,如下图所示:
common.h 包括MiniGUI常用的宏以及数据类型的定 义。 minigui.h 包含了全局的和通用的接口函数以及某些 杂项函数的定义。 gdi.h 包含了 MiniGUI 绘图函数的接口定义。 window.h 包含了窗口有关的宏、数据类型、数据结
构定义以及函数接口声明。
Main函数
int MiniGUIMain (int argc, const char* argv[]) MiniGUI主函数名,相当于C语言的main函数 argc:命令行参数个数 argv:参数字符串数组指针
while (GetMessage(&Msg, hMainWnd)) { TranslateMessage(&Msg); DispatchMessage(&Msg); }
从消息队列中读取消息并对读取的消息做处理,然 后把该消息发送到相应的处理函数
static int WinProc (HWND hWnd, int message, WPARAM wParam, LPARAM lParam)
MiniGUI入门
王金华
Minigui简介
北京飞漫软件技术有限公司开发 一个跨操作系统的、面向嵌入式系统的轻量级图形 用户界面支持系统 为实时嵌入式操作系统建立一个跨操作系统的、快 速、稳定和轻量级的窗口系统及图形用户界面支持 系统
安装Minigui MiniGUI程序要点
示例程序
安装miniGUI
6、修改MiniGUI.cfg文件,命令
“vi /usr/local/etc/MiniGUI.cfg”:
需要修改的地方如下图所示:
修改好后保存退出,然后在终端输入 “ldconfig”命令,动态连接:
至此所有资源都已安装完毕,可以运行示例程 序试一下了!!
MiniGUI程序要点
头文件:
Minigui回调函数,即处理各种消息的函数 hWnd:窗口句柄 message:具体的消息 wParam:消息的附加参数 lParam:消息的附加参数
编译MiniGUI程序命令: gcc –o xxx xxx.c –lpthread –lminigui –ljpeg –lpng -lz
示例程序
文件夹下(一般在home下建一个minigui文件 夹),做好后进入终端,并进入存放minigui资 源的文件夹目录。如图所示:
2、安装minigui资源文件:minigui-res-1.6.10.tar.gz;
该文件中包含minigui所用的字体、图标、位图和鼠标 光标。首先解压资源文件,命令为: "tar -zxf minigui-res-1.6.10.tar.gz ",如下图所示:
Input.c
Edit.c
修改后如下图所示:
保存退出,进入终端,然后输入“ldconfig” 命令,动态连接库,如下图所示:
至此,库文件全部安装完毕,下边我们安装示例 程序文件:
4、返回minigui文件夹,解压示例程序文件,并进入 示例程序文件目录,如下图所示:
进入示例程序目录之后,在终端输入“./configure” 命令,配置示例程序脚本,如下图所示:
然后进入解压后的资源文件中,命令:“cd minigui-res-1.6.10 ”,如下图所示
在该目录下输入“make install”命令,安装资源文件, (该文件要以root身份进入linux才能安装) 如下图所示:
至此资源文件已安装完毕,然后返回到存放minigui 所有的资源的文件夹下,命令为“cd ..”, 返回之后再接着执行以下步骤:
3、安装minigui库文件“libminigui-1.6.10.tar.gz”,其
中包括libminigui、libmgext 和 libvcongui。首先解 压该库文件,命令为“tar -zxf libminigui1.6.10.tar.gz”,如下图所示:
然后进入解压后的库文件(即:libmini-1.6.10)中,命 令为:“cd libminigui-1.6.10”,进入该目录下后在终 端输入“./configure”命令配置库脚本文件,如下图所 示:(此过程需要一段时间)
脚本配置好后,输入“make”命令编译示例程序:
至此示例程序已经安装完毕,下边我们安装 qvfb。
5、返回minigui文件,并解压qvfb文件,然后进入 该目录,如下图所示:
输入“./configure”命令,配置脚本文件:
脚本配置好后,输入“make”命令编译:
输入“make install”命令,安装: