这类程序叫基于对话框的程序,显示对话框有两类函数:CreateDialog跟DialogBox,其中前者是非堵塞的,需要自己写个消息循环,后者是堵塞的,对话框退出,函数才会返回。 对话框上点击各个按钮或者输入,程序都会给回调函数发消息。DialogBox函数会发给最后一个参数指定的函数,这个过程叫CALL BACK,也叫回调。 该函数有4个参数:...
// 根据模板ID(dlgId)创建模式对话框// 点击IDOK按钮,返回1,否则返回0intmyCreateModalDialogFromID(HPACKAGEpackage,Uint32 dlgId,HWNDowner,HICONhIcon,HMENUhMenu,NCS_EVENT_HANDLER_INFO*handlers,NCS_EVENT_CONNECT_INFO*connects){int ret=0;mDialogBox*dialog=SAFE_CAST(mDialogBox,ncsCreateMainWindowIndirect...
static const GUI_WIDGET_CREATE_INFO _aDialogCreate[] = { { WINDOW_CreateIndirect, "Test3", ...
GUI_ExecDialogBox(); 创建一个阻塞对话框 既然GUI_CreateDialogBox()是用来创建非阻塞对话框的,那么就可以直接在对话框的回调函数用直接调用GUI_CreateDialogBox()来创建想要的对话框,可是我直接用GUI_CreateDialogBox()函数在对话框的回到函数中创建另外一个对话框,并没有达到预期的效果,仔细一想,发现GUI_CreateD...
1.1 利用建立窗口函数来建立主菜单界面 用户通过利用UCGUI中WM_CreateWindow函数建立一个指定大小的窗口。 窗口对话框建立函数 GUI_CreateDialogBox(const GUI_WIDGET_CREATE_INFO* paWidget, int NumWidgets, WM_CALLBACK* cb, WM_HWIN hParent, int x0, int y0) paWidge,对话框信息结构体,包含了对话框所有...
WM_HWIN CreateFramewin(void) { WM_HWIN hWin; //非阻塞式对话框 hWin = GUI_CreateDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), _cbDialog, WM_HBKWIN, 0, 0); return hWin; } //BUTTON按钮上显示位图 void Buttonbmp_Demo(void) ...
* CreateFramewin */ WM_HWIN CreateFramewin(void); WM_HWIN CreateFramewin(void) { WM_HWIN hWin; hWin = GUI_CreateDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), _cbDialog, WM_HBKWIN, 0, 0); return hWin; } /*** * * MainTask */ void MainTask(void) { /* 窗口自动使...
资源表和对话框过程;前者定义所要包括的小工具,后者定义小工具的初始值及其行为。一旦具备这两个要素,则只需进行单个函数调用(GUI_CreateDialogBox()或GUI_ExecDialogBox())就能创建对话框。 1/***2*3对话框可以基于阻塞(使用GUI_ExecDialogBox())或非阻塞(使用GUI_CreateDialogBox())4方式创建。必须首先定义...
深入理解ucGUI消息处理机制如何实现
GUI_ExecDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate),&_cbCallback, 0, 0, 0); GUI_Delay(1000); }}1. 对话框资源列表。2. 这个函数用于绘制三个小的单色矩形方框和一个大的矩形方框。3. 通过控件ID号判断此控件是否是滑块控件。4. 如果是滑块控件,获取滑块控件的值来设置编辑框显示的数值...