一.建立一个阻塞式的对话框。
int GUI_ExecDialogBox(const GUI_WIDGET_CREATE_INFO* paWidget, int NumWidgets, WM_CALLBACK* cb, WM_HWIN hParent, int x0, int y0);
参 数 含 意
paWidget 定义包含在对话框中所有控件的资源表的指针。
NumWidgets 包含在对话框中所有控件的数量。
cb 一个具体应用的回调函数的指针(对话框程序)。 //一般是用来按键响应回调函数。
hParent 父窗口的句柄(0 表示没有父窗口)。
x0 对话框相对于父窗口的 X 轴坐标。
y0 对话框相对于父窗口的 Y 轴坐标。
static const GUI_WIDGET_CREATE_INFO _aDialogCreate[] = {
{ FRAMEWIN_CreateIndirect, "Owner drawn list box", 0, 50, 50, 220, 140, FRAMEWIN_CF_MOVEABLE },
{ LISTBOX_CreateIndirect, 0, GUI_ID_MULTIEDIT0, 10, 10, 100, 100, 0, 100 },
/* Check box for multi select mode */
{ CHECKBOX_CreateIndirect, 0, GUI_ID_CHECK0, 120, 10, 0, 0 },
{ TEXT_CreateIndirect, "Multi select", 0, 140, 10, 80, 15, TEXT_CF_LEFT },
/* Check box for owner drawn list box */
{ CHECKBOX_CreateIndirect, 0, GUI_ID_CHECK1, 120, 35, 0, 0 },
{ TEXT_CreateIndirect, "Owner drawn", 0, 140, 35, 80, 15, TEXT_CF_LEFT },
/* Buttons */
{ BUTTON_CreateIndirect, "OK", GUI_ID_OK, 120, 65, 80, 20 },
{ BUTTON_CreateIndirect, "Cancel", GUI_ID_CANCEL, 120, 90, 80, 20 },
};
这里创建了几种控件资源,
第一个建立列表框,参数一列表框创建函数,列表框标题,位置坐标,标志量。
第二个建立列表控件,这里创建了一个现实滚动条的控件标志量是GUI_ID_MULTIEDIT0,当然我们也可以选择不同标志来确定是否需要滚动条。
第三个,第四个创建选择控件和文字描述。
第五个,第六个创建的是一个按键控件。
这样我们资源表就创建好了,接下来就是描绘属性,以及编写处理回调函数。