我是在学习checkbox时发现,为什么要创建checkbox时一定要使用GUI_ExecDialogBox创建才能运行,当使用GUI_CreateDialogBox创建时却是黑屏?
1、用GUI_ExecDialogBox创建,例程里的程序源码
//CHECKBOX小工具演示Demo
void CheckBoxDemo(void)
{
GUI_CURSOR_Show();
#if GUI_SUPPORT_MEMDEV
WM_SetCreateFlags(WM_CF_MEMDEV);
#endif
WM_SetDesktopColor(GUI_BLACK);
while(1)
{
GUI_ExecDialogBox(_aDialogCreate,GUI_COUNTOF(_aDialogCreate),&_cbCallback,0,0,0);
GUI_Delay(500);
}
}
2、我尝试用GUI_CreateDialogBox创建
//CHECKBOXD¡1¤¾ßÑYê¾Demo
void CheckBoxDemo(void)
{
GUI_CreateDialogBox(_aDialogCreate,GUI_COUNTOF(_aDialogCreate),&_cbCallback,0,0,0);
}
谢谢大家帮忙解答。
2019-8-26 09:21:38
字面可知带Exec的会执行,而Create只创建,后者配合GUI_Exec()使用。
字面可知带Exec的会执行,而Create只创建,后者配合GUI_Exec()使用。
举报
2019-8-26 09:41:02
谢谢,我还有一个问题,就是为什么其他控件(BUTTON、EDIT)不用EXEC执行,只要Create创建就行?而checkbox却一定要执行?我就是学到这里发现和其他的不一样才有疑问,实在无法理解,麻烦你帮忙解答一下,谢谢。
谢谢,我还有一个问题,就是为什么其他控件(BUTTON、EDIT)不用EXEC执行,只要Create创建就行?而checkbox却一定要执行?我就是学到这里发现和其他的不一样才有疑问,实在无法理解,麻烦你帮忙解答一下,谢谢。
举报
2019-8-26 09:47:00
原子大哥,请教下,
GUI_ExecDialogBox创建了一个对话框,触摸控制放大缩小都正常,点击关闭对话框后,程序没有执行后面的内容,还是在
while (!DialogStatus.Done) {
if (!GUI_Exec()) {
GUI_WaitEvent(); /* Wait for event (keyboard, mouse or whatever) */
}
}
里面循环,是什么原因啊?此时已经看不到对话框了啊
原子大哥,请教下,
GUI_ExecDialogBox创建了一个对话框,触摸控制放大缩小都正常,点击关闭对话框后,程序没有执行后面的内容,还是在
while (!DialogStatus.Done) {
if (!GUI_Exec()) {
GUI_WaitEvent(); /* Wait for event (keyboard, mouse or whatever) */
}
}
里面循环,是什么原因啊?此时已经看不到对话框了啊
举报