emWin 2天速成实例教程003_Framewin和Window窗口控件和2D绘图
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了emWin 2天速成实例教程003_Framewin和Window窗口控件和2D绘图相关的知识,希望对你有一定的参考价值。
备注:(1)打开工程目录下的"Exe\GUISimulationDebug.exe"即可看到效果。(2)看完教程000~005就基本会用emWin做项目,其他章节可以需要时再参考。
(1) emWin的每个界面都需要一个Framewin/Window窗口控件作为父窗体,就好像Framewin/Window是一个窗体框架,所有控件都放置在这个框架当中,组成父窗体和子控件的连带关系,可以通过父窗体找到子控件,也可以通过子控件找到它的父窗体,Framewin和Window在外观上是有区别的:
(2)Window窗口控件使用比较简单,就好像一个背景一样,也没有所谓的Client区的概念;这里重点说明Framewin窗口控件的使用方法:
上图Framewin窗口控件中绿色部分是Client区域即客户区,以下是emwin说明书关于Framewin及其Client区的说明:
The frame window actually consists of 2 windows;the main window and a child window.The child window is called Client window. Itis important to be aware of this when dealing with callback functions: Thereare 2 windows with 2 different callback functions. When creating child windows,these child windows are typically created as children of the client window;their parent is therefor the client window.
Framewin窗口控件实际上包含2个窗口:主窗口和子窗口,子窗口称为Client窗口,在处理回调函数时理解主窗口和Client窗口的概念是很重要的:两个窗口可以对应两个不同的回调函数;当创建例如按键、编辑框等控件时,这些控件是作为Client窗口的子控件包含在Client窗口中的,因此这些控件的父窗口是Client窗口而非主窗口。
(3)背景图片显示,用BmpCvt.exe工具(在Tool目录下)将BMP图片转成C文件,然后将此C文件加入emWin工程,并在WM_PAINT窗口重绘消息中用GUI_DrawBitmap()函数显示图片即可:
如果是STM32平台,图片数据存到哪里?怎样读取图片数据?储存数据可以考虑NAND-FLASH、SPI-FLASH、NOR-FLASH等等...,至于怎样读取图片数据,这是emWin驱动程序的事情,在这里我们只说怎样做emWin的界面应用程序而已。
源码/软件下载
以上是关于emWin 2天速成实例教程003_Framewin和Window窗口控件和2D绘图的主要内容,如果未能解决你的问题,请参考以下文章
emWin 2天速成实例教程000_如何快速入门ucGUI/emWin
emWin 2天速成实例教程004_软件定时器(Timer)和位图片动画
emWin 2天速成实例教程005_控件聚焦和用户消息的使用方法