uCOS-IIwilliam hill官网
登录
直播中
h1654155178.6397
12年用户
14经验值
擅长:测量仪表 嵌入式技术
私信
关注
[问答]
UCGUI--问题请教!
开启该帖子的消息推送
个位好,本人在学习UCGUI时碰到了一下问题,请教下大家!!
我在MainDisplayCallback回调函数中任务中用BUTTON_Create()函数建立了一个2个按键,按键1,2,当按下第1个按键时
弹出第二个界面,触摸屏是移植好了的,按下按钮也有反应,按下按钮也高亮了,但是未见弹出第二个界面,麻烦版主抽空帮忙分析下原因,谢谢了!
主要函数如下:
void Touch_Task(void *pdata) //液晶屏更新任务
{
g_hMainDisplay = WM_CreateWindow(0, 0, LCD_GetXSize()-1, LCD_GetYSize()-1, WM_CF_SHOW, &MainDisplayCallback, 0);
g_hSelectWaveDisplay = WM_CreateWindow(0, 0, LCD_GetXSize()-1, LCD_GetYSize()-1, WM_CF_SHOW, &SelectWaveDisplayCallback , 0);
WM_BringToTop(g_hMainDisplay);
WM_SetFocus(g_hMainDisplay);
WM_SelectWindow(g_hMainDisplay);
WM_Paint(g_hMainDisplay);
while (1)
{
GUI_TOUCH_Exec();
// _DemoTransWindow();
// Touch_Sample();
//Demo_Graph();
GUI_Exec();
//GUI_Delay(10);
OS
ti
meDly(OS_TICKS_PER_SEC/200);
}
}
/*********************************************************
主界面函数:MainDisplayCallback
第二个窗口回调窗口函数:g_hSelectWaveDisplay
**********************************************************/
void MainDisplayCallback(WM_MESSAGE* pMsg)
{
int ButtonId, NCode;
switch (pMsg->MsgId)
{
case WM_PAINT:
GUI_ClearRect(200, 100, 470, 350);
/* 建立按钮 */
Button_SelectWave = BUTTON_Create(0, 430, 200, 60, GUI_ID_SELECTWAVE, WM_CF_SHOW);
Button_Setup = BUTTON_Create(200, 430, 200, 60, GUI_ID_SETUP, WM_CF_SHOW);
/* 设置按钮文本 */
BUTTON_SetText(Button_OnOf , "设置");
BUTTON_SetText(Button_SelectWave , "波形选择");
break;
case WM_NOTIFY_PARENT:
ButtonId = WM_GetId(pMsg->hWinSrc);
NCode = pMsg->Data.v;
// ButtonId = GUI_GetKey();
switch(NCode)
{
case WM_NOTIFICATION_RELEASED:
if(ButtonId == GUI_ID_SELECTWAVE)
{
WM_BringToTop(g_hSelectWaveDisplay);
WM_SetFocus(g_hSelectWaveDisplay);
WM_SelectWindow(g_hSelectWaveDisplay);
WM_Paint(g_hSelectWaveDisplay);
}
break;
}
default:
WM_DefaultProc(pMsg);
}
}
备注:
我单步调试可以看到,我按下触摸屏的“1”按钮松开后,发现程序已经运行到 了_OnButtonReleased(),这个函数中有WM_NotifyParent()这个函数,WM_NotifyParent()这个函数按我理解有2句Msg.MsgId = WM_NOTIFY_PARENT;WM_SendToParent(hWin, &Msg);已经实现了发送
WM_NOTIFY_PARENT了,但是问题是程序不能回到MainDisplayCallback这个回调函数执行case WM_NOTIFY_PARENT这句程序,不解。
前段时间试过外部按键按下按钮实现同样的功能,也是无法实现,道理是一样的按下按钮后,程序运行到BUTTON_Callback这个GUI自带的按钮回调函数,但是不会回到我的MainDisplayCallback函数,按道理应该是执行完BUTTON_Callback回调函数后再回到用户的回调函数继续执行的吧。
不知道上面我自己的理解对不对,请教下版主GUI的每种控件按下以后都是回到响应的控件的回调函数执行,执行完以后,是否会自动回到用户的回调函数中,或者有什么条件回到用户的回调函数中???
回帖
(2)
610095871
2013-10-11 11:23:52
如果想透彻的学习下ucgui可以联系我 qq610095871 开水。william hill官网 里搜索ucgui视频教程也可以
如果想透彻的学习下ucgui可以联系我 qq610095871 开水。william hill官网 里搜索ucgui视频教程也可以
举报
Hugo801122
2014-1-7 23:52:20
没用过,学习了。
没用过,学习了。
举报
更多回帖
rotate(-90deg);
回复
相关问答
请教
下
ucGUI
数据输入的问题
2014-02-20
2615
请问
ucgui
源码哪里可以下到?
2019-05-29
1549
如何在原来的显示基础上移植了
ucgui
图形系统
2020-06-01
759
移植
ucgui
程序黑屏
2019-05-10
1270
请问
UCGUI
新手怎么学才能尽快上手?
2019-05-13
1125
请问UcosII和
UcGUI
有什么关系?
2019-08-29
1956
ucgui
整合在ucos上出了问题
2019-05-29
1007
uCGUI
和Emwin的差异是什么?
2020-08-21
2702
UCgui
WM编译报错
2019-05-06
1386
ucgui
移植出现问题
2013-08-23
3017
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
英国威廉希尔公司网站
william hill官网 版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分