OpenEdv-开源电子网

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

裸机移植UCGUI,如何通过按键调处子子窗口?

[复制链接]

4

主题

10

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2015-8-22
在线时间
0 小时
发表于 2015-8-22 09:53:11 | 显示全部楼层 |阅读模式
5金钱
我想通过桌面窗口上的两个按钮,分别调出两个不一样的子窗口,但是不知道应该在什么地方添加这样子窗口创建函数?应该在按钮的CALLBACK函数中吗?如果还想在子窗口中绘制一些控件,又应该在哪里添加?
[mw_shl_code=c,true]void BUTTON_Callback(WM_MESSAGE *pMsg) { BUTTON_Handle hObj = pMsg->hWin; BUTTON_Obj* pObj = BUTTON_H2P(hObj); /* Let widget handle the standard messages */ if (WIDGET_HandleActive(hObj, pMsg) == 0) { return; } switch (pMsg->MsgId) { #if BUTTON_REACT_ON_LEVEL case WM_PID_STATE_CHANGED: _OnPidStateChange(hObj, pObj, pMsg); return; /* Message handled. Do not call WM_DefaultProc, because the window may have been destroyed */ #endif case WM_TOUCH: _OnTouch(hObj, pObj, pMsg); return; /* Message handled. Do not call WM_DefaultProc, because the window may have been destroyed */ case WM_PAINT: GUI_DEBUG_LOG("BUTTON: _BUTTON_Callback(WM_PAINT)\n"); _Paint(pObj, hObj); return; case WM_DELETE: GUI_DEBUG_LOG("BUTTON: _BUTTON_Callback(WM_DELETE)\n"); _Delete(pObj); break; /* No return here ... WM_DefaultProc needs to be called */ #if 0 /* TBD: Button should react to space & Enter */ case WM_KEY: { int PressedCnt = ((WM_KEY_INFO*)(pMsg->Data.p))->ressedCnt; int Key = ((WM_KEY_INFO*)(pMsg->Data.p))->Key; switch (Key) { case GUI_KEY_ENTER: if (PressedCnt > 0) { _OnButtonPressed(hObj, pObj); _OnButtonReleased(hObj, pObj, WM_NOTIFICATION_RELEASED); return; } break; case GUI_KEY_SPACE: if (PressedCnt > 0) { _OnButtonPressed(hObj, pObj); } else { _OnButtonReleased(hObj, pObj, WM_NOTIFICATION_RELEASED); } return; } break; } #endif } WM_DefaultProc(pMsg); }[/mw_shl_code]

最佳答案

查看完整内容[请看2#楼]

这个解决了,在WM。C的一个窗口回调函数里进行创建就可以了。。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

4

主题

10

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2015-8-22
在线时间
0 小时
 楼主| 发表于 2015-8-22 09:53:12 | 显示全部楼层
这个解决了,在WM。C的一个窗口回调函数里进行创建就可以了。。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

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

使用道具 举报

104

主题

313

帖子

0

精华

高级会员

Rank: 4

积分
893
金钱
893
注册时间
2014-11-13
在线时间
53 小时
发表于 2015-8-25 14:16:19 | 显示全部楼层
你跟着教程走自然都知道了会
回复

使用道具 举报

4

主题

10

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2015-8-22
在线时间
0 小时
 楼主| 发表于 2015-8-25 21:28:21 | 显示全部楼层
我的教程是开水101的,没有讲得这么多。
回复

使用道具 举报

1

主题

7

帖子

0

精华

新手上路

积分
31
金钱
31
注册时间
2014-2-23
在线时间
3 小时
发表于 2015-9-5 10:09:43 | 显示全部楼层
看到了熟悉代码
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-23 12:55

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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