(1)GUI键值问题

移植方式:stm32cubemx创建F103带freertos工程,手动移植C盘cubemx自带的stemwin固件

发现发送键值消息时出现如下问题:

void Emwin_TEST(void)
{WM_HWIN hWin; hWin = CreateFramewin();GUI_Delay(200); while(1){WM_SetFocus(WM_GetDialogItem(hWin, ID_BUTTON_0));GUI_SendKeyMsg(GUI_KEY_ENTER,1);   //当键值为GUI_KEY_ENTERGUI_Delay(200);               //消息结构体不能成功触发case WM_KEY消息//但改为其他如:GUI_KEY_F1可以WM_SetFocus(WM_GetDialogItem(hWin, ID_BUTTON_1));           GUI_SendKeyMsg(GUI_KEY_ESCAPE,1);           GUI_Delay(200);WM_SetFocus(WM_GetDialogItem(hWin, ID_BUTTON_1));GUI_SendKeyMsg(GUI_KEY_ENTER,1);GUI_Delay(200);WM_SetFocus(WM_GetDialogItem(hWin, ID_BUTTON_0));    GUI_SendKeyMsg(GUI_KEY_ESCAPE,1);           GUI_Delay(200);     }}void StartDefaultTask(void const * argument)
{Emwin_TEST();for(;;){      osDelay(1);     }}

查阅API手册,官方对GUI_SendKeyMsg()的描述是,Key应该是:0x20~0xff之间的ASCII字符,但实验发现除了:

#define GUI_KEY_ENTER             13        /* ASCII: ENTER     Crtl-M */

这个GUI_KEY_ENTER不能触发case WM_KEY,12与14的键值却都可以

(2)创建窗口与操作系统任务

使用了操作系统的情况下,将GUI_Init()与CreateWindow()放置于main函数中运行,这样GUI_Delay()才能放置于操作

系统中任意有足够stack(简单的2个button界面也要128WORD以上)的任务中运行。假设将GUI_Init()与CreateWindow()放

置于一个任务中,如下:

//GUI初始化任务
void GUIInitTask(void const * argument)
{GUI_Init();CreateWindow();  //此函数也必须与GUI_Init处于同一任务//或GUI_Init在main中执行,此函数也能正常执行for(;;){GUI_Delay(200);  //GUI_Delay不能在其他任务执行}}

STemwin----开发问题锦集相关推荐

  1. 【学习笔记】前端开发面试锦集

    链接地址:https://microzz.com/2017/02/10/interview/ 前端还是一个年轻的行业,新的行业标准, 框架, 库都不断在更新和新增,正如赫门在2015深JS大会上的&l ...

  2. AE、IDL开发问题锦集

    1.没有注册类(异常来自HRESULT:0x80040154(REGDB_E_CLASSNOTREG)) 如图1所示: 图1 没有注册类 其实,这个问题在AE开发时也碰到过,因为我们所调用AE的dll ...

  3. PHP开发错误锦集(持续更新)

    1.trait 命名问题. 问题:trait 里定义的方法找不到 <?phpnamespace app\controllers;trait Example {public function ex ...

  4. python项目案例开发pdf-python项目开发案例锦集 pdf|消费金融公司概念股

    中国电建发起设立保险经纪公司,意在完美本身风险管理ppp项目 融资成本,项目融资尽职调查 这3项运转 义务 ,置信 时常看老炼文章的人都了如指撑,项目融资投标书,科研项目融资 相似的例子还有大参林,3 ...

  5. Ngrinder脚本开发各细节锦集(groovy)

    Ngrinder脚本开发各细节锦集(groovy) 1.生成随机字符串(import org.apache.commons.lang.RandomStringUtils) 数字:RandomStrin ...

  6. Android Studio相见恨晚的操作锦集

    作为一个Android开发者,最常使用的就是Android Studio了,我在这里声明Android Studio比Eclipse好用100倍,不服来辩.本文用于纪录Android Studio中相 ...

  7. 七年级计算机上教学计划,初一教学计划模板锦集5篇

    初一教学计划模板锦集5篇 时光在流逝,从不停歇,我们又将迎来新的教学工作,我们要好好计划今后的教育教学方法.那么一份同事都拍手称赞的教学计划是什么样的呢?以下是小编为大家整理的初一教学计划5篇,仅供参 ...

  8. Java面试进阶:Dubbo、Zookeeper面试题锦集

    Dubbo面试题锦集 1.默认也推荐使用netty框架,还有mina. 2.默认是阻塞的,可以异步调用,没有返回值的可以这么做. 3.推荐使用zookeeper注册中心,还有redis等不推荐. 4. ...

  9. Python花式编程案例锦集(4)

    本文涉及问题是小米笔试题,问题描述:有一个整数列表,要求调整元素顺序,把所有奇数都放到前面,偶数都放到后面. 参考代码: # 带有C味道的Python代码 def demo1(intList):    ...

  10. Python花式编程案例锦集(3)

    严格来说,本文的2个代码不算花式编程,在Python中就应该是这样写. 1.生成包含20个随机数的列表,然后删除其中的所有奇数. from random import randrange lst = ...

最新文章

  1. 阿里大佬总结的算法进阶指南,助你进大厂!
  2. 单连接算法与全连接算法
  3. 眼电、脑电视频课程汇总
  4. 自动化测试中,测试数据如何管理?
  5. Planes, Trains, but not Automobiles-求最小路径覆盖的起点终点
  6. java activity生命周_关于Activity的生命周期和任务栈的理解
  7. ospf协议_「案例」OSPF路由动态协议及配置
  8. 跟周鸿祎学互联网思维 ——《周鸿祎自述|我的互联网方法论》读后感
  9. 红外非均匀矫正matlab实现,一种红外图像非均匀性校正方法与流程
  10. java调用matlab绘图_java调用matlab绘图
  11. 服务器虚拟机迁移的6个步骤,KVM 虚拟机迁移(示例代码)
  12. 豆瓣电影小程序服务器,微信小程序实战:仿豆瓣电影
  13. 痛苦的挣扎--msp430g2553我恨你!
  14. MSDC 4.3 接口规范(22)
  15. 我是怎样用这个神器搞定我的4T电影的
  16. 用c#二次开发的焊锡检测视觉系统
  17. Html5实现iPhone开机界面
  18. python打印商品列表_python 列表应用-简单的购物车
  19. ssm毕设项目益学-校园学习互助y0ig7(java+VUE+Mybatis+Maven+Mysql+sprnig)
  20. 2.Scala的安装和使用方法(华为云学习笔记,Spark编程基础,大数据)

热门文章

  1. iOS performSelector的原理以及用法
  2. HAL库配置STM32F1系列定时器驱动步进电机(四)(梯形加减速)
  3. 盲源分离matlab程序,Ica盲源分离Matlab程序
  4. GeoEye-1 卫星照片来了 - 异常清晰
  5. Hive函数(内置函数(字符串函数,数学函数,日期函数,集合函数,条件函数,聚合函数,表生成函数)和自定义函数(自定义函数创建流程,临时函数,永久函数)))(四)
  6. cad图纸怎么看懂_老师傅教你如何看懂施工图纸,看完绝对会
  7. 真正的头号玩家——游戏AI
  8. 关于迅雷提速的最终方案
  9. 青龙面板-服务器工具安装
  10. GBK(国标码)英文是几个字节?