EmWin 接触---基础函数
2021-04-12 17:28
标签:sage 过程 [] cal inf ide call 设置 dialog 创建对话框,需求两个基本要素:资源表和对话框过程。对话框可以基于阻塞(使用 GUI_ExecDialogBox())或非阻塞(使用 GUI_CreateDialogBox()) GUI_CreateDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), _cbDialog, WM_HBKWIN, 0, 0) _aDialogCreate为资源表: static const GUI_WIDGET_CREATE_INFO _aDialogCreate[] = { }; _aDialogCreate为对话框过程函数: static void _cbDialog(WM_MESSAGE * pMsg) { WM_HWIN hItem; switch (pMsg->MsgId) } 当pMsg->Msgld为 WM_INIT_DIALOG时,初始化窗口信息,给创建的窗口设置一个初值。 当pMsg->Msgld为WM_NOTIFY_PARENT时,窗口操作值。 具体函数分析: WM_HWIN GUI_CreateDialogBox(const GUI_WIDGET_CREATE_INFO * paWidget, paWideget ---- 定义对话框中所要包含的小工具的资源表的指针 NumWidgets ---对话框中所包含的小工具的总数 cb --- 应用程序特定回调函数(对话框过程函数)的指针 hParent --- 父窗口的句柄(0表示没有父窗口) x0 --- 对话框相对于父窗口的X轴位置 y0 --- 对话框相对于父窗口的Y轴位置 void GUI_EndDialog(WM_HWIN hDialog, int r); hDialog --- 对话框的句柄 r --- 由 GUI_ExecDialogBox 返回的值 GUI_SetColor(GUI_BLUE);//设置桌面窗口的背景色是白色 EmWin 接触---基础函数 标签:sage 过程 [] cal inf ide call 设置 dialog 原文地址:https://www.cnblogs.com/HumbleFish/p/8994218.html
方式创建。以下为例:
{ FRAMEWIN_CreateIndirect, "Framewin", ID_FRAMEWIN_0, 0, 0, 800, 480, FRAMEWIN_CF_MOVEABLE, 0x64, 0 }
int NumWidgets,
WM_CALLBACK * cb,
WM_HWIN hParent,
int x0,
int y0);
上一篇:c#report基本操作赋值