|
本帖最后由 杜杜_C1WY7 于 2018-4-25 11:09 编辑
代码如下
#include "DIALOG.h"
#include "MainMenuBK.h"
/*********************************************************************
*
* Defines
*
**********************************************************************
*/
#define ID_WINDOW_0 (GUI_ID_USER + 0x02)
#define ID_TEXT_0 (GUI_ID_USER + 0x03)
#define ID_LISTBOX_0 (GUI_ID_USER + 0x04)
// USER START (Optionally insert additional defines)
// USER END
/*********************************************************************
*
* Static data
*
**********************************************************************
*/
// USER START (Optionally insert additional static data)
// USER END
/*********************************************************************
*
* _aDialogCreate
*/
static const GUI_WIDGET_CREATE_INFO _aDialogCreate[] = {
{ WINDOW_CreateIndirect, "MainMenu", ID_WINDOW_0, 0, 0, 480, 320, 0, 0x0, 0 },
{ TEXT_CreateIndirect, "Text", ID_TEXT_0, 0, 0, 480, 31, 0, 0x64, 0 },
{ LISTBOX_CreateIndirect, "Listbox", ID_LISTBOX_0, -1, 30, 482, 290, 0, 0x0, 0 },
// USER START (Optionally insert additional widgets)
// USER END
};
/*********************************************************************
*
* Static code
*
**********************************************************************
*/
GUI_BITMAP Bitmap_Background={480,320,960,16,gImage_MainMenuBK,NULL,GUI_DRAW_BMP565};
// USER START (Optionally insert additional static code)
// USER END
/*********************************************************************
*
* _cbDialog
*/
static void _cbDialog(WM_MESSAGE * pMsg) {
WM_HWIN hItem;
int NCode;
int Id;
int sel=1;
GUI_LOGPALETTE Palette1;/*565*/
// USER START (Optionally insert additional variables)
// USER END
switch (pMsg->MsgId) {
case WM_INIT_DIALOG:
//
// Initialization of 'MainMenu'
//
GUI_EnableAlpha(1);
hItem = pMsg->hWin;
//
// Initialization of 'Text'
//
hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_0);
WM_SetHasTrans(hItem);
TEXT_SetTextColor(hItem, GUI_MAKE_COLOR(0x00000000));
TEXT_SetText(hItem, "Menu");
TEXT_SetFont(hItem, GUI_FONT_32_1);
TEXT_SetBkColor (hItem, 0xFF000000);
TEXT_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER);
//
// Initialization of 'Listbox'
//
hItem = WM_GetDialogItem(pMsg->hWin, ID_LISTBOX_0);
WM_SetHasTrans(hItem);
LISTBOX_AddString(hItem, "Item 0");
LISTBOX_AddString(hItem, "Item 1");
LISTBOX_AddString(hItem, "Item 2");
LISTBOX_AddString(hItem, "Item 3");
LISTBOX_AddString(hItem, "Item 4");
LISTBOX_AddString(hItem, "Item 5");
LISTBOX_AddString(hItem, "Item 6");
LISTBOX_AddString(hItem, "Item 7");
LISTBOX_AddString(hItem, "Item 8");
LISTBOX_AddString(hItem, "Item 9");
LISTBOX_SetFont(hItem, GUI_FONT_32_1);
LISTBOX_SetSel(hItem, sel);
LISTBOX_SetTextColor(hItem, LISTBOX_CI_UNSEL, GUI_MAKE_COLOR(0x00FFFFFF));
LISTBOX_SetBkColor(hItem, LISTBOX_CI_UNSEL, 0xFF000000);
// USER START (Optionally insert additional code for further widget initialization)
// USER END
break;
case WM_PAINT:
GUI_DrawBitmap(&Bitmap_Background, 0, 0);
break;
case WM_NOTIFY_PARENT:
Id = WM_GetId(pMsg->hWinSrc);
NCode = pMsg->Data.v;
switch(Id) {
case ID_LISTBOX_0: // Notifications sent by 'Listbox'
switch(NCode) {
case WM_NOTIFICATION_CLICKED:
// USER START (Optionally insert code for reacting on notification message)
// USER END
break;
case WM_NOTIFICATION_RELEASED:
// USER START (Optionally insert code for reacting on notification message)
// USER END
break;
case WM_NOTIFICATION_SEL_CHANGED:
// USER START (Optionally insert code for reacting on notification message)
// USER END
break;
// USER START (Optionally insert additional code for further notification handling)
// USER END
}
break;
// USER START (Optionally insert additional code for further Ids)
// USER END
}
break;
// USER START (Optionally insert additional message handling)
// USER END
default:
WM_DefaultProc(pMsg);
break;
}
}
/*********************************************************************
*
* Public code
*
**********************************************************************
*/
/*********************************************************************
*
* CreateMainMenu
*/
WM_HWIN CreateMainMenu(void);
WM_HWIN CreateMainMenu(void) {
WM_HWIN hWin;
//
// GUI_DrawBitmap(&Bitmap_Background, 0, 0);
hWin = GUI_CreateDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), _cbDialog, WM_HBKWIN, 0, 0);
return hWin;}
// USER START (Optionally insert additional public code)
// USER END
|
|