STemWin图形化界面设计专题

STemWin-控件设计

如果你是个小白,你即将对STemWin这方面进行一个开发,你需要先初始化一些东西,就是所谓的学前准备工作,也是对软件的一个基本配置。

软件的基本配置

对于软件,我个人选择的是MDK,基于是哪个版本,大家最好是选用keil474以上版本,基本上keil的高版本都是对下层的版本基本兼容。
对于keil,相信很多人在开发学习51的时候都是首选的keil,在keil这个软件中,或许有很多人,会被keil下过很多个坑,在这里我就不带一些个人情绪,
我们直接开干。

  1. keil474的获取:https://pan.baidu.com/s/1f5HRJdfUPBwLtCtv8XgYCg 提取码:cxos (PS:keil474、keil525、keil530都有,自由择取)
  2. keil的安装:基本上,keil的安装也没啥事,就填个email取个名啥的,需要注意的是,你的keil安装目录要取个有意义的名字,比如说你选择keil474,那么你可以在安装路径下改成kei474,我是默认C盘;然后后面这些都可以随意,基本上一切都默认下一步即可。安装好后,什么也别管,先破解。
  3. keil的破解:破解前,先把杀毒软件什么的全关掉,然后以管理员身份运行破解器,破解器:链接:https://pan.baidu.com/s/1gTlCY-EL7mwqZouoA58c_g
    提取码:auux
    相关详细教程:链接:https://pan.baidu.com/s/1Hewc2jE8n6wRsJFzk-9c_g
    提取码:tx7r
  4. 芯片包:如果说keil的安装是人的骨架,芯片包就相当于一个人的血液,这东西大大的重要。相关资源:链接:https://pan.baidu.com/s/191YjuhLuoEgzUBA4n5F8zQ
    提取码:4vap
  5. 值得注意的是把Real-Time OS进行破解
  6. 去到:https://www.segger.com/downloads/emwin这个网站下载segger
  7. 下载好后,以VC++运行这个工作区
  8. 在keil的安装目录下可以找到这个软件,这里的软件都是一些控件的设计,还有其他的一些图片,动图等的代码转化工具。
  9. 设计好相关控件后,转化成代码fiel—>save
  10. 然后在在该路径下会生成一个代码段,点开就好

    12.把相关代码复制到simulation工程下的这个文件中
#include "DIALOG.h"
#define ID_FRAMEWIN_0 (GUI_ID_USER + 0x00)
#define ID_BUTTON_0 (GUI_ID_USER + 0x01)
#define ID_SCROLLBAR_0 (GUI_ID_USER + 0x02)
#define ID_PROGBAR_0 (GUI_ID_USER + 0x04)static const GUI_WIDGET_CREATE_INFO _aDialogCreate[] = {{ FRAMEWIN_CreateIndirect, "Framewin", ID_FRAMEWIN_0, -5, -4, 800, 480, 0, 0x64, 0 },
{ BUTTON_CreateIndirect, "MGUO", ID_BUTTON_0, 269, 69, 258, 39, 0, 0x0, 0 },
{ SCROLLBAR_CreateIndirect, "Scrollbar", ID_SCROLLBAR_0, 251, 119, 288, 34, 0, 0x0, 0 },
{ PROGBAR_CreateIndirect, "Progbar", ID_PROGBAR_0, 304, 166, 191, 23, 0, 0x0, 0 },};static void _cbDialog(WM_MESSAGE * pMsg) {WM_HWIN hItem;
int NCode;
int Id;
switch (pMsg->MsgId) {case WM_INIT_DIALOG:
hItem = pMsg->hWin;
FRAMEWIN_SetFont(hItem, GUI_FONT_32B_ASCII);
FRAMEWIN_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER);
FRAMEWIN_SetText(hItem, "FEILUO");
break;
case WM_NOTIFY_PARENT:
Id = WM_GetId(pMsg->hWinSrc);
NCode = pMsg->Data.v;
switch(Id) {case ID_BUTTON_0: // Notifications sent by ‘MGUO’
switch(NCode) {case WM_NOTIFICATION_CLICKED:
break;
case WM_NOTIFICATION_RELEASED:
break;
}
break;
case ID_SCROLLBAR_0: // Notifications sent by ‘Scrollbar’
switch(NCode) {case WM_NOTIFICATION_CLICKED:
break;
case WM_NOTIFICATION_RELEASED:
break;
case WM_NOTIFICATION_VALUE_CHANGED:
break;
}
break;
}
break;
default:
WM_DefaultProc(pMsg);
break;
}
}WM_HWIN CreateFramewin(void);
WM_HWIN CreateFramewin(void) {WM_HWIN hWin;hWin = GUI_CreateDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), _cbDialog, WM_HBKWIN, 0, 0);
return hWin;
}void MainTask(void)
{WM_SetCreateFlags(WM_CF_MEMDEV);
GUI_Init();
CreateFramewin();
while(1)
{GUI_Delay(100);
}
}

13.最后会显示下面的图形,也就是刚刚所说的自己设计的一个控件

最后:送给大家的小鸡汤,喝了这碗还有下碗。

希望大家在学习STemWin的时候不骄不躁,一步一个脚印慢慢来,你做到最后就会发现自己居然会设计一些想做的控件,随着大家的深入了解于积累,相信不久的将来,大家都可以在这方面有一个自己的绝对领域,在这个领域里,我们相互学习,相互促进,形成强大的知识网。希望本专题对大家有所作用吧!大家一起加油吧!
相关下载:keil下载:https://pan.baidu.com/s/1f5HRJdfUPBwLtCtv8XgYCg 提取码:cxos
keil破解:https://pan.baidu.com/s/1gTlCY-EL7mwqZouoA58c_g 提取码:auux
芯片包:https://pan.baidu.com/s/191YjuhLuoEgzUBA4n5F8zQ 提取码:4vap

STemWin专题-控件设计相关推荐

  1. wpf控件设计时支持(2)

    原文:wpf控件设计时支持(2) 这篇介绍在wpf设计时集合项属性添加项的定义和自定义控件右键菜单的方法 集合项属性设计时支持 1.为集合属性设计器识别具体项类型 wpf设计器允许定义集合项的类型,如 ...

  2. wpf控件设计时支持(1)

    wpf控件设计时支持(1) 原文:wpf控件设计时支持(1) 这部分内容几乎是大家忽略的内容,我想还是来介绍一下. 本篇源码下载 1.属性元数据 在vs IDE中,在asp.net,winfrom等开 ...

  3. 使用控件设计窗体 上 布局主窗体 添加标签与文本框控件

    使用控件设计窗体 上 布局主窗体 添加标签与文本框控件 项目目标 所需控件 窗体基本设置 新建窗体 设置背景图片 设置平铺模式 设置icon 设置文字 修改名称 直接修改类名 标签控件与文本框控件 标 ...

  4. html5人脸拼图,面向眼机交互的界面控件设计方法研究.pdf

    摘要 摘要 眼机交互是目前人机交互技术中具有前瞻性研究价值的新方向,目前已逐步应用在 虚拟现实.残疾人辅助.医疗.教育和军事等诸多领域.近年来,越来越多的设备将眼 机交互的方式加入到人机对话中,发挥其 ...

  5. WPF 控件设计艺术[开篇]

    WPF 控件设计艺术--样式.模板.触发器.数据绑定 WPF 控件设计艺术--样式.模板.触发器.数据绑定:围绕WPF控件设计,从样式.模板.触发器和数据绑定触发,引导初学者快速设计和使用WPF控件设 ...

  6. global 仪表控件 无人机地面站_基于GL Studio的无人机地面站天线控件设计与实现...

    基于 GL Studio 的无人机地面站天线控件设计与实现 李兴岷 ; 陈怀民 ; 喻戈 ; 任伟 [期刊名称] <测控技术> [年 ( 卷 ), 期] 2011(030)009 [摘要] ...

  7. wpf控件设计时支持(3)

    wpf设计时调试 编辑模型 装饰器 1.wpf设计时调试 为了更好的了解wpf设计时框架,那么调试则非常重要,通过以下配置可以调试控件的设计时代码 (1)将启动项目配置成外部的visual studi ...

  8. qt开关控件设计(手把手从零开始)

    从零开始手把手教你设计自己的qt控件 1 说明 1.1 显示效果 1.2 控件特性 1.3 设计方法 2 控件需求分析 2.1 必要需求 2.1 顺带需求(锦上添花) 3 功能设计 3.1 设计思路( ...

  9. 透明皮肤控件设计系列(一):前言

    转自:http://www.138soft.com/?p=35 Delphi的皮肤控件非常多,例如DynamicSkinForm等等.以前都是习惯直接使用第三方皮肤控件,后来在开发一个内部IM聊天工具 ...

最新文章

  1. LSM树——放弃读能力换取写能力,将多次修改放在内存中形成有序树再统一写入磁盘,查找复杂度O(k*log(n)),结合bloom filter提高查找性能...
  2. Eclipse Class Decompiler---Java反编译插件
  3. 《Java程序设计》实验报告——Java的多线程机制
  4. wxWidgets:wxMenu类用法
  5. C#的ApartmentState的属性:[STAThread]
  6. 资产支持证券(Asset-Backed Security)
  7. SQL提取时间段内数据
  8. linux系统中acpid的作用,ACPID电源按钮事件本地权限提升漏洞
  9. L1-045 宇宙无敌大招呼
  10. NHibernate利用Mindscape.NHibernateModelDesigner实现数据库与实体之间的转换及操作
  11. Java限流之 —— Guawa
  12. 使用Instruments中的CoreAnimation分析动画
  13. python定时任务_Python 定时任务最佳实践
  14. php-open网站还可以用,nginx+php使用open_basedir限制站点目录防止跨站
  15. python 复习计划
  16. oc快速生成单例头文件解析
  17. 对JavaScript中的 事件 进行疯狂 处理
  18. 【IoT】5.Business Strategy 商业战略
  19. 社群运营:如何招募高质量种子用户?
  20. Openwrt Lede koolshare固件下屏蔽固定MAC地址以及屏蔽某些网站

热门文章

  1. Redis主从复制Redis哨兵机制Springboot整合哨兵
  2. 服务器安装系统——出错BUG: soft lockup...
  3. 怎么查看mysql的库名_如何查看数据库名呢?
  4. Activiti6.0流程设计器汉化教程(全)
  5. 完美的AIRMAN--1985!
  6. 当下大数据发展的 8 个要点
  7. 万字长文揭秘37手游的自研任务调度平台
  8. 【开源实战】Canal部署常见问题:重复解析/Filter失效/消费落后
  9. wps、word论文中公式居中,编号居右的简单方法,不要傻傻的手动居中了!
  10. 4岁孩子说害怕这个那个怎么应对