OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 8247|回复: 2

关于STemWin中WM_SendMessageNoPara和WM_SetCreateFlags两个函数的使用问题

[复制链接]

5

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
55
金钱
55
注册时间
2015-5-23
在线时间
0 小时
发表于 2015-12-2 11:20:07 | 显示全部楼层 |阅读模式
5金钱
问题1:WM_SendMessageNoPara()函数的使用
        我想要实现的功能是这样的:主界面按下某个按键就弹出输入密码界面------->当输入密码正确就由该控件发送一个“密码正确消息”给其上级菜单------->上级菜单收到该消息后就将密码界面删除以释放其内存。
        现在问题是这样的:调用WM_SetCreateFlags(hWinMenu, PASSWORDCORRECT);        hWinMenu为上级菜单的句柄;PASSWORDCORRECT为自定义的WM_USER消息;
         单步到此语句后系统进入MemManage_Handler()中断。
         查看该函数定义发现有这样的注释
          *  lease note that some of these functions do not yet show up in the
          *  documentation, as they should not be required by application program.

     void      WM_SendMessageNoPara    (WM_HWIN hWin, int MsgId);             /* not to be documented (may change in future versionumented */
                 5.22的版本暂不支持这个函数?

问题2:WM_SetCreateFlags()函数的使用
           在创建窗口前调用 WM_SetCreateFlags(WM_CF_MEMDEV)函数,界面无法显示。注释掉此句后可以正常显示与切换。
           配置文件中已经将存储设备开启
           #define GUI_SUPPORT_MEMDEV            (1)    /* Memory device package available */
          现在该从哪里寻找原因?
初学emWin,您的一两句提醒就可能让后来者少走很多弯路,谢谢。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2015-12-2 22:58:59 | 显示全部楼层
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

5

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
55
金钱
55
注册时间
2015-5-23
在线时间
0 小时
 楼主| 发表于 2015-12-11 15:05:23 | 显示全部楼层
摸索了一段时间,第一个问题得以解决。一开始是仿照emWin的官方例程来写,没理清各个窗口以及控件的关系。仔细跟踪发现,在发送消息时目标窗口句柄引用不正确导致了硬件错误。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 16:44

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表