请教UCGUI 对话框不显示
答案:1 悬赏:0 手机版
解决时间 2021-02-17 18:58
- 提问者网友:欲望失宠
- 2021-02-17 02:06
请教UCGUI 对话框不显示
最佳答案
- 五星知识达人网友:思契十里
- 2021-02-17 02:34
WM_Paint 这个函数是立即重绘,主要是通过发送重绘消息实现
手册中关于对话框的例程只是给出了回调函数的处理,除了调用 WM_Paint,调用GUI_Delay,GUI_Exec,都可以达到绘制窗口的作用,GUI_Delay中调用了GUI_Exec,只不过同时还有延时。
GUI_Exec这个函数中进行了消息的派送和处理,绘制无效窗口等内容都是在之中完成的,也就是说,如果你不带系统的话需要在while大循环中不停的调用GUI_Exec 来实现消息的派送和处理,
不过对于WM_Paint和GUI_Exec两者的区别我不是很清楚,但是个人感觉最好用GUI_Exec
这是我 按照楼主说程序在VC上做的试验
主要代码是
static const GUI_WIDGET_CREATE_INFO _aDialogCreate[] = {
{ FRAMEWIN_CreateIndirect, "PassWord", 0xf9, 0, 0, 200, 100, 0, 0 },
{ BUTTON_CreateIndirect, "Button", 0xfa, 1, 56, 80, 20, 0, 0 },
{ BUTTON_CreateIndirect, "Button", 0xfb, 108, 55, 80, 20, 0, 0 }
};
// USER START (Optionally insert additional widgets) // USER END};
void MainTask()
{
EDIT_Handle hEdit,hEdit2 ;
DROPDOWN_Handle hDropdown;
GUI_Init();
GUI_SetBkColor(GUI_RED);
GUI_Clear();
WM_SetDesktopColor(GUI_RED);
GUI_CreateDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), 0, WM_HBKWIN, 0, 0);
while(1)
{
GUI_Exec();//必须调用,消息的派送窗口的更新都在其内完成
}
}
希望对楼主有帮助
手册中关于对话框的例程只是给出了回调函数的处理,除了调用 WM_Paint,调用GUI_Delay,GUI_Exec,都可以达到绘制窗口的作用,GUI_Delay中调用了GUI_Exec,只不过同时还有延时。
GUI_Exec这个函数中进行了消息的派送和处理,绘制无效窗口等内容都是在之中完成的,也就是说,如果你不带系统的话需要在while大循环中不停的调用GUI_Exec 来实现消息的派送和处理,
不过对于WM_Paint和GUI_Exec两者的区别我不是很清楚,但是个人感觉最好用GUI_Exec
这是我 按照楼主说程序在VC上做的试验
主要代码是
static const GUI_WIDGET_CREATE_INFO _aDialogCreate[] = {
{ FRAMEWIN_CreateIndirect, "PassWord", 0xf9, 0, 0, 200, 100, 0, 0 },
{ BUTTON_CreateIndirect, "Button", 0xfa, 1, 56, 80, 20, 0, 0 },
{ BUTTON_CreateIndirect, "Button", 0xfb, 108, 55, 80, 20, 0, 0 }
};
// USER START (Optionally insert additional widgets) // USER END};
void MainTask()
{
EDIT_Handle hEdit,hEdit2 ;
DROPDOWN_Handle hDropdown;
GUI_Init();
GUI_SetBkColor(GUI_RED);
GUI_Clear();
WM_SetDesktopColor(GUI_RED);
GUI_CreateDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), 0, WM_HBKWIN, 0, 0);
while(1)
{
GUI_Exec();//必须调用,消息的派送窗口的更新都在其内完成
}
}
希望对楼主有帮助
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯