ucgui 如何实现不同对话框之间相互切换
我想写一个ucgui的界面,主菜单有三个按钮每点一个按钮都会进入下一级界面。下级界面又返回按钮。。我将代码写成这样。。当反复调用屏幕就会不反应。不知道为什么UCGUI通过...
我想写一个ucgui的界面,主菜单有三个按钮 每点一个按钮都会进入下一级界面 。下级界面又返回按钮 。。我将代码写成这样。。当反复调用 屏幕就会不反应。
不知道为什么UCGUI通过BUTTON进行窗口切换时要死机,而且总是切换第三次时死机。设置三个按键,检测按键按下时调用函数创建新的窗口
switch (pMsg->MsgId)
{
case WM_NOTIFY_PARENT:
Id = WM_GetId(pMsg->hWinSrc); /*获得窗体部件的ID*/
NCode = pMsg->Data.v; /*动作代码 */
switch (NCode)
{
case WM_NOTIFICATION_RELEASED: //窗体部件动作被释放
if (Id == GUI_ID_BUTTON0)
{
Sensor();//新窗口函数
}
else if (Id == GUI_ID_BUTTON1)
{
GUIDEMO_Touch(); //新窗口函数
}
else if (Id == GUI_ID_BUTTON2)
{
GUIDEMO_Navigation();//新窗口函数
} 展开
不知道为什么UCGUI通过BUTTON进行窗口切换时要死机,而且总是切换第三次时死机。设置三个按键,检测按键按下时调用函数创建新的窗口
switch (pMsg->MsgId)
{
case WM_NOTIFY_PARENT:
Id = WM_GetId(pMsg->hWinSrc); /*获得窗体部件的ID*/
NCode = pMsg->Data.v; /*动作代码 */
switch (NCode)
{
case WM_NOTIFICATION_RELEASED: //窗体部件动作被释放
if (Id == GUI_ID_BUTTON0)
{
Sensor();//新窗口函数
}
else if (Id == GUI_ID_BUTTON1)
{
GUIDEMO_Touch(); //新窗口函数
}
else if (Id == GUI_ID_BUTTON2)
{
GUIDEMO_Navigation();//新窗口函数
} 展开
1个回答
2014-08-28
展开全部
请检查你新窗口函数中有没有释放空间,即用GUI_EndDialog();
追问
在if(id==GUI_ID_BUTTONx)
{
gui_enddialog();
/要切换的界面/
};
就可以吗?
追答
这个不是这样的,我的意思是你那个子界面的函数是不是只是创建,而没有结束,每次调用都是创建,导致内存不够了。GUI_EndDialog()这个函数应该防止子界面要返回主界面的那边,没有源代码不好解释。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询