Day5-人机交互功能开发(模拟器)

1.界面构思

原型分析

主界面

主界面提供了,整个系统的交互接口,也就是说,我们都有哪些需要提供给用户展示的
1、数据展示功能
    1.1、温度
    1.2、湿度
    1.3、光照
2、控制操作功能
	2.1、灯光
    2.2、风扇
    2.3、报警
    
分析:
    对用户来说,需要点击相应的图标下,就可以进入相关的界面,很简单,我使用button小工具进行实现,其实就是在主界面创建6个button小工具

image-20200426104609355

子界面

控制界面
控制界面应该有什么?
1、界面的标识--- 要给用户指示这个界面有什么用
    使用text小工具就可以实现
2、控制操作
    开状态-当用户点击图标,灯泡点亮
    关状态-当用户点击图片,灯泡熄灭
3、返回主菜单
    当用户点击主菜单按钮,返回主界面
    
 控制和返回主界面都用button实现即可
    

image-20200426104734246

数据界面
控制界面应该有什么?
1、界面的标识--- 要给用户指示这个界面有什么用
    使用text小工具就可以实现
2、数据图标展示
 	显示一个图片就可以,用图片小工具
3、返回主菜单
    当用户点击主菜单按钮,返回主界面,用button小工具

image-20200426104814805

界面构思

主界面

image-20200426105434247

传感器数据展示界面

image-20200426105837595

控制设备界面

image-20200426110057780

素材设计

主界面素材

image-20200426110200719

子界面素材

image-20200426110414627

注意事项

图片最终是用过代码,进行展示的
    我们必须针对图片命名时候,有规范,有要求
1、主界面命名
    MainAlarm
    MainLed
2、子界面
    SubAlarmOpen
    SubAlarmClose
    SubHum

2.交互设计

窗口初始化

业务流程

Created with Raphaël 2.3.0 设置窗口背景色 设置按钮位图

窗口初始化函数接口

句柄的概念

句柄:在C语言里面,它其实就是一个指针变量

emWin句柄概念

WINDOW_SetBkColor

image-20200502010325786

WM_GetDialogItem

image-20200502010431177

BUTTON_SetBitmap

image-20200502010746336

按键处理

Created with Raphaël 2.3.0 子窗口消息通知 获取子窗口ID 获取子窗口消息 子窗口消息处理

按键处理接口

WM_NOTIFY_PARENT

image-20200502011123107

按钮通知代码

image-20200502011313982

界面切换

Created with Raphaël 2.3.0 结束当前对话框 创建需要切换的对话框
界面切换接口
GUI_EndDialog

image-20200502014202320

GUI_CreateDialogBox

image-20200502014250645

3.GUIBuilder创建代码框架

主界面生成

GUIBuilder创建主界面

1、创建window小工具
    1.1、设置window x y 尺寸 472 280
    1.2、设置背景色 2 33 79 RGB
2、创建6个button小工具
    2.1、设置button尺寸为 100 100 
    2.2、button布局
  /*
  { WINDOW_CreateIndirect, "", ID_WINDOW_0, 0, 0, 472, 280, 0, 0x0, 0 },
  { BUTTON_CreateIndirect, "", ID_BUTTON_0, 43, 30, 100, 100, 0, 0x0, 0 },
  { BUTTON_CreateIndirect, "", ID_BUTTON_1, 43, 150, 100, 100, 0, 0x0, 0 },
  { BUTTON_CreateIndirect, "", ID_BUTTON_2, 186, 150, 100, 100, 0, 0x0, 0 },
  { BUTTON_CreateIndirect, "", ID_BUTTON_3, 329, 150, 100, 100, 0, 0x0, 0 },
  { BUTTON_CreateIndirect, "", ID_BUTTON_4, 329, 30, 100, 100, 0, 0x0, 0 },
  { BUTTON_CreateIndirect, "", ID_BUTTON_5, 186, 30, 100, 100, 0, 0x0, 0 },
  */

image-20200502231520003

添加代码到模拟器工程
修改窗口创建函数名称及文件名称

image-20200502231703263

代码添加到工程

image-20200502231922803

模拟器运行

image-20200503001014217

创建温度展示界面

image-20200503000513528

image-20200503001240861

创建湿度展示界面

image-20200503001440678

创建光照展示界面

image-20200503001607101

创建风扇控制界面

image-20200503135451638

创建LED控制界面

image-20200503135549459

创建报警控制界面

image-20200503135640823

4.BmpCvtST生成图片流

位图转换工具

image-20200504170013823

主界面添加图片流

字界面添加图片流

5.界面切换功能实现

功能优化

设置子界面背景色为 8 20 44 16进制 2C 14 08
//TEXT_SetBkColor(hItem, GUI_MAKE_COLOR(0x002C1408));

界面切换功能实现

控制操作图标切换

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值