本帖最后由 xiaolun217001 于 2018-5-11 15:12 编辑
#define ID_WINDOW_0 (GUI_ID_USER + 0x00)
#define ID_DROPDOWN_0 (GUI_ID_USER + 0x01)
#define ID_DROPDOWN_1 (GUI_ID_USER + 0x02)
#define ID_DROPDOWN_2 (GUI_ID_USER + 0x03)
#define ID_DROPDOWN_3 (GUI_ID_USER + 0x04)
#define ID_DROPDOWN_4 (GUI_ID_USER + 0x05)
#define ID_DROPDOWN_5 (GUI_ID_USER + 0x06)
#define ID_DROPDOWN_6 (GUI_ID_USER + 0x07)
#define ID_DROPDOWN_7 (GUI_ID_USER + 0x08)
#define ID_TEXT_0 (GUI_ID_USER + 0x0b)
#define ID_TEXT_1 (GUI_ID_USER + 0x0c)
#define ID_TEXT_2 (GUI_ID_USER + 0x0d)
#define ID_TEXT_3 (GUI_ID_USER + 0x0e)
#define ID_TEXT_4 (GUI_ID_USER + 0x0f)
#define ID_TEXT_5 (GUI_ID_USER + 0x10)
#define ID_TEXT_6 (GUI_ID_USER + 0x11)
#define ID_TEXT_7 (GUI_ID_USER + 0x12)
#define ID_EDIT_0 (GUI_ID_USER + 0x18)
#define ID_EDIT_1 (GUI_ID_USER + 0x19)
#define ID_EDIT_2 (GUI_ID_USER + 0x1a)
#define ID_EDIT_3 (GUI_ID_USER + 0x1b)
#define ID_EDIT_4 (GUI_ID_USER + 0x1c)
#define ID_EDIT_5 (GUI_ID_USER + 0x1d)
#define ID_EDIT_6 (GUI_ID_USER + 0x1e)
#define ID_EDIT_7 (GUI_ID_USER + 0x1f)
#define ID_EDIT_8 (GUI_ID_USER + 0x20)
#define ID_EDIT_9 (GUI_ID_USER + 0x21)
#define ID_EDIT_10 (GUI_ID_USER + 0x22)
#define ID_EDIT_11 (GUI_ID_USER + 0x23)
#define ID_EDIT_12 (GUI_ID_USER + 0x24)
#define ID_EDIT_13 (GUI_ID_USER + 0x25)
#define ID_EDIT_14 (GUI_ID_USER + 0x26)
#define ID_EDIT_15 (GUI_ID_USER + 0x27)
#define ID_EDIT_16 (GUI_ID_USER + 0x28)
#define ID_EDIT_17 (GUI_ID_USER + 0x29)
#define ID_EDIT_18 (GUI_ID_USER + 0x2a)
#define ID_EDIT_19 (GUI_ID_USER + 0x2b)
#define ID_EDIT_20 (GUI_ID_USER + 0x2c)
#define ID_EDIT_21 (GUI_ID_USER + 0x2d)
#define ID_EDIT_22 (GUI_ID_USER + 0x2e)
#define ID_EDIT_23 (GUI_ID_USER + 0x2f)
#define ID_EDIT_24 (GUI_ID_USER + 0x28)
#define ID_EDIT_25 (GUI_ID_USER + 0x29)
#define ID_EDIT_26 (GUI_ID_USER + 0x2a)
#define ID_EDIT_27 (GUI_ID_USER + 0x2b)
#define ID_EDIT_28 (GUI_ID_USER + 0x2c)
#define ID_EDIT_29 (GUI_ID_USER + 0x2d)
#define ID_EDIT_30 (GUI_ID_USER + 0x2e)
#define ID_EDIT_31 (GUI_ID_USER + 0x2f)
#define ID_BUTTON_0 (GUI_ID_USER + 0x31)
#define ID_BUTTON_1 (GUI_ID_USER + 0x32)
#define ID_BUTTON_2 (GUI_ID_USER + 0x33)
#define ID_BUTTON_3 (GUI_ID_USER + 0x34)
#define ID_BUTTON_4 (GUI_ID_USER + 0x35)
#define ID_BUTTON_5 (GUI_ID_USER + 0x36)
#define ID_BUTTON_6 (GUI_ID_USER + 0x37)
#define ID_BUTTON_7 (GUI_ID_USER + 0x38)
#define ID_BUTTON_8 (GUI_ID_USER + 0x39)
#define ID_BUTTON_9 (GUI_ID_USER + 0x40)
#define ID_BUTTON_10 (GUI_ID_USER + 0x41)
#define ID_BUTTON_11 (GUI_ID_USER + 0x42)
#define ID_BUTTON_12 (GUI_ID_USER + 0x43)
#define ID_BUTTON_13 (GUI_ID_USER + 0x44)
#define ID_BUTTON_14 (GUI_ID_USER + 0x45)
#define ID_BUTTON_15 (GUI_ID_USER + 0x46)
#define ID_PROGBAR_0 (GUI_ID_USER + 0x47)
static const GUI_WIDGET_CREATE_INFO _aDialogCreate[] =
{
{ WINDOW_CreateIndirect, "Window", ID_WINDOW_0, 0, 0, 800, 450, 0, 0x0, 0 },
{ DROPDOWN_CreateIndirect, "Dropdown", ID_DROPDOWN_0, 40, 90, 80, 55, 0, 0x0, 0 },
{ DROPDOWN_CreateIndirect, "Dropdown", ID_DROPDOWN_1, 40, 129, 80, 55, 0, 0x0, 0 },
{ DROPDOWN_CreateIndirect, "Dropdown", ID_DROPDOWN_2, 40, 168, 80, 55, 0, 0x0, 0 },
{ DROPDOWN_CreateIndirect, "Dropdown", ID_DROPDOWN_3, 40, 207, 80, 55, 0, 0x0, 0 },
{ DROPDOWN_CreateIndirect, "Dropdown", ID_DROPDOWN_4, 40, 246, 80, 55, 0, 0x0, 0 },
{ DROPDOWN_CreateIndirect, "Dropdown", ID_DROPDOWN_5, 40, 285, 80, 55, 0, 0x0, 0 },
{ DROPDOWN_CreateIndirect, "Dropdown", ID_DROPDOWN_6, 40, 324, 80, 55, 0, 0x0, 0 },
{ DROPDOWN_CreateIndirect, "Dropdown", ID_DROPDOWN_7, 40, 363, 80, 55, 0, 0x0, 0 },
{ TEXT_CreateIndirect, " ", ID_TEXT_0, 10, 90, 20, 28, 0, 0x0, 0 },
{ TEXT_CreateIndirect, " ", ID_TEXT_1, 10, 129, 20, 28, 0, 0x0, 0 },
{ TEXT_CreateIndirect, " ", ID_TEXT_2, 10, 168, 20, 28, 0, 0x0, 0 },
{ TEXT_CreateIndirect, " ", ID_TEXT_3, 10, 207, 20, 28, 0, 0x0, 0 },
{ TEXT_CreateIndirect, " ", ID_TEXT_4, 10, 246, 20, 28, 0, 0x0, 0 },
{ TEXT_CreateIndirect, " ", ID_TEXT_5, 10, 285, 20, 28, 0, 0x0, 0 },
{ TEXT_CreateIndirect, " ", ID_TEXT_6, 10, 324, 20, 28, 0, 0x0, 0 },
{ TEXT_CreateIndirect, " ", ID_TEXT_7, 10, 363, 20, 28, 0, 0x0, 0 },
{ EDIT_CreateIndirect, "Edit", ID_EDIT_0, 130, 90, 100, 30, 0, 0x10, 0 },
{ EDIT_CreateIndirect, "Edit", ID_EDIT_1, 130, 129, 100, 30, 0, 0x10, 0 },
{ EDIT_CreateIndirect, "Edit", ID_EDIT_2, 130, 168, 100, 30, 0, 0x10, 0 },
{ EDIT_CreateIndirect, "Edit", ID_EDIT_3, 130, 207, 100, 30, 0, 0x10, 0 },
{ EDIT_CreateIndirect, "Edit", ID_EDIT_4, 130, 246, 100, 30, 0, 0x10, 0 },
{ EDIT_CreateIndirect, "Edit", ID_EDIT_5, 130, 285, 100, 30, 0, 0x10, 0 },
{ EDIT_CreateIndirect, "Edit", ID_EDIT_6, 130, 324, 100, 30, 0, 0x10, 0 },
{ EDIT_CreateIndirect, "Edit", ID_EDIT_7, 130, 363, 100, 30, 0, 0x10, 0 },
{ EDIT_CreateIndirect, "Edit", ID_EDIT_8, 250, 90, 40, 30, 0, 0x10, 0 },
{ EDIT_CreateIndirect, "Edit", ID_EDIT_9, 250, 129, 40, 30, 0, 0x10, 0 },
{ EDIT_CreateIndirect, "Edit", ID_EDIT_10, 250, 168, 40, 30, 0, 0x10, 0 },
{ EDIT_CreateIndirect, "Edit", ID_EDIT_11, 250, 207, 40, 30, 0, 0x10, 0 },
{ EDIT_CreateIndirect, "Edit", ID_EDIT_12, 250, 246, 40, 30, 0, 0x10, 0 },
{ EDIT_CreateIndirect, "Edit", ID_EDIT_13, 250, 285, 40, 30, 0, 0x10, 0 },
{ EDIT_CreateIndirect, "Edit", ID_EDIT_14, 250, 324, 40, 30, 0, 0x10, 0 },
{ EDIT_CreateIndirect, "Edit", ID_EDIT_15, 250, 363, 40, 30, 0, 0x10, 0 },
{ EDIT_CreateIndirect, "Edit", ID_EDIT_16, 310, 90, 40, 30, 0, 0x10, 0 },
{ EDIT_CreateIndirect, "Edit", ID_EDIT_17, 310, 129, 40, 30, 0, 0x10, 0 },
{ EDIT_CreateIndirect, "Edit", ID_EDIT_18, 310, 168, 40, 30, 0, 0x10, 0 },
{ EDIT_CreateIndirect, "Edit", ID_EDIT_19, 310, 207, 40, 30, 0, 0x10, 0 },
{ EDIT_CreateIndirect, "Edit", ID_EDIT_20, 310, 246, 40, 30, 0, 0x10, 0 },
{ EDIT_CreateIndirect, "Edit", ID_EDIT_21, 310, 285, 40, 30, 0, 0x10, 0 },
{ EDIT_CreateIndirect, "Edit", ID_EDIT_22, 310, 324, 40, 30, 0, 0x10, 0 },
{ EDIT_CreateIndirect, "Edit", ID_EDIT_23, 310, 363, 40, 30, 0, 0x10, 0 },
{ PROGBAR_CreateIndirect, "Progbar", ID_PROGBAR_0, 0, 445, 800, 5, 0, 0x0, 0 },
};
static void _cbDialog(WM_MESSAGE * pMsg)
{
volatile WM_HWIN hItem;
int NCode, nSizeX;
int Id;
int i,j;
switch (pMsg->MsgId)
{
case WM_INIT_DIALOG:
hItem = pMsg->hWin;
for(i = 0; i < 8; i++)
{
hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_0+i);
(void)sprintf(&dispbuf[0],"%02d", i+1);
TEXT_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER);
TEXT_SetText(hItem, dispbuf);
hItem = WM_GetDialogItem(pMsg->hWin, ID_DROPDOWN_0+i);
DROPDOWN_SetBkColor(hItem,DROPDOWN_CI_UNSEL,GUI_WHITE);
DROPDOWN_SetAutoScroll(hItem,0);
DROPDOWN_SetFont(hItem,&XBF_Font24);
DROPDOWN_SetItemSpacing(hItem,5);
DROPDOWN_SetTextHeight(hItem,28);
DROPDOWN_SetTextAlign(hItem,GUI_TA_LEFT|GUI_TA_VCENTER);
DROPDOWN_InsertString(hItem,"in",0);
DROPDOWN_InsertString(hItem,"out",1);
}
hItem = WM_GetDialogItem(pMsg->hWin, ID_PROGBAR_0);
PROGBAR_SetText(hItem, " ");
PROGBAR_SetMinMax(hItem, 0, DEF_WAITKEYTIME);
break;
case WM_NOTIFY_PARENT:
break;
case WM_PAINT:
nSizeX = WM_GetWindowSizeX(pMsg->hWin);
GUI_DrawGradientV(0, 0, nSizeX, 15, DEF_TITLEBACKCOLORUP0, DEF_TITLEBACKCOLORUP1);
GUI_DrawGradientV(0, 15, nSizeX, 25, DEF_TITLEBACKCOLORDOWN0, DEF_TITLEBACKCOLORDOWN1);
GUI_DrawGradientV(0, 425, nSizeX, 445, 0x80C8C7C9, 0x80C8C7C9);
GUI_DrawGradientV(5, 80, 400, 410, GUI_WHITE, GUI_WHITE);
break;
case WM_KEY:
break;
default:
WM_DefaultProc(pMsg);
break;
}
}
WM_HWIN Formula(void)
{
WM_HWIN hWin;
hWin = GUI_CreateDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), _cbDialog, WM_HBKWIN, 0, 0);
WM_MakeModal(hWin);
return hWin;
}
|