|
发表于 2018-6-21 12:38:04
|
显示全部楼层
/*********************************************************************
* *
* SEGGER Microcontroller GmbH & Co. KG *
* Solutions for real time microcontroller applications *
* *
**********************************************************************
* *
* C-file generated by: *
* *
* GUI_Builder for emWin version 5.30 *
* Compiled Jul 1 2015, 10:50:32 *
* (c) 2015 Segger Microcontroller GmbH & Co. KG *
* *
**********************************************************************
* *
* Internet: www.segger.com Support: support@segger.com *
* *
**********************************************************************
*/
// USER START (Optionally insert additional includes)
// USER END
#include "DIALOG.h"
/*********************************************************************
*
* Defines
*
**********************************************************************
*/
#define ID_FRAMEWIN_MEGBOX (GUI_MESSBOX_ID + 0x01)
#define ID_TEXT_MEGBOX (GUI_MESSBOX_ID + 0x02)
//#define ID_BUTTON_MEGBOX_ESC (GUI_MESSBOX_ID + 0x03)
//#define ID_BUTTON_MEGBOX_OK (GUI_MESSBOX_ID + 0x04)
#define XSIZE_PHYS 320
#define YSIZE_PHYS 240
#define MEGBOX_XSIZE 160
#define MEGBOX_YSIZE 120
/*********************************************************************
*
* _cbDialog
*/
static void _cbMessageBox(WM_MESSAGE * pMsg) {
WM_HWIN hItem;
int NCode;
int Id;
switch (pMsg->MsgId) {
/*case WM_INIT_DIALOG:
hItem = pMsg->hWin;
break;*/
/////////////////////////////////////////
case WM_KEY:
switch (((WM_KEY_INFO*)(pMsg->Data.p))->Key)
{
case GUI_KEY_ESCAPE:
{
GUI_EndDialog(pMsg->hWin, 1);
break;
}
}
break;// case WM_KEY:
/////////////////////////////////////////
case WM_NOTIFY_PARENT:
Id = WM_GetId(pMsg->hWinSrc);
NCode = pMsg->Data.v;
switch(Id)
{
case GUI_ID_CANCEL: // Notifications sent by 'Button'
{
switch(NCode)
{
case WM_NOTIFICATION_CLICKED:
{
GUI_EndDialog(pMsg->hWin, 1);
break;
}
case WM_NOTIFICATION_RELEASED:
{
break;
}
}
break;// case GUI_ID_CANCEL:
}
case GUI_ID_OK: // Notifications sent by 'Button'
{
switch(NCode)
{
case WM_NOTIFICATION_CLICKED:
{
GUI_EndDialog(pMsg->hWin, 0);
break;
}
case WM_NOTIFICATION_RELEASED:
{
break;
}
}
break; //case GUI_ID_OK:
}
}
break;//case WM_NOTIFY_PARENT:
/////////////////////////////////////////
default:
WM_DefaultProc(pMsg);
break;
}
}
/*********************************************************************
*
* _MessageBox
*
* Function description
* Creates and executes a modal message box
*/
int _MessageBox(const char * pText, const char * pCaption ,int Flags)
{
int ret;
FRAMEWIN_Handle hFram;
WM_HWIN hClent;
WM_HWIN hItem;
hFram = FRAMEWIN_CreateEx((XSIZE_PHYS-MEGBOX_XSIZE)/2, (YSIZE_PHYS-MEGBOX_YSIZE)/2, MEGBOX_XSIZE, MEGBOX_YSIZE, WM_HBKWIN, WM_CF_SHOW, 0, ID_FRAMEWIN_MEGBOX,pCaption,_cbMessageBox);
FRAMEWIN_SetTitleHeight(hFram, 20);
FRAMEWIN_SetTextAlign(hFram, GUI_TA_LEFT | GUI_TA_VCENTER);
FRAMEWIN_SetTextColor(hFram, GUI_MAKE_COLOR(0x00FFFFFF));
FRAMEWIN_SetFont(hFram, &GUI_FontHZ16);
//FRAMEWIN_SetText(hFram, "Framewin");
hClent = WM_GetClientWindow(hFram);
hItem = TEXT_CreateEx(1, 10,MEGBOX_XSIZE-10,40,hClent, WM_CF_SHOW,0, ID_TEXT_MEGBOX,pText);
TEXT_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER);
TEXT_SetBkColor(hItem,GUI_WHITE);
TEXT_SetTextColor(hItem, GUI_MAKE_COLOR(0x00000000));
TEXT_SetFont(hItem, &GUI_FontHZ16);
//TEXT_SetText(hItem, "Text");
if(Flags==0)
{
hItem = BUTTON_CreateEx(48, MEGBOX_YSIZE-55, 55, 22,hClent, 0,0, GUI_ID_CANCEL);
BUTTON_SetTextColor(hItem,BUTTON_CI_UNPRESSED|BUTTON_CI_PRESSED,GUI_MAKE_COLOR(0x00FFFFFF));
BUTTON_SetFont(hItem, &GUI_FontHZ16);
BUTTON_SetText(hItem, "确定");
WM_SetFocus(hItem);
}
if(Flags==1)
{
hItem = BUTTON_CreateEx(48, MEGBOX_YSIZE-55, 55, 22,hClent, WM_CF_SHOW,0, GUI_ID_CANCEL);
BUTTON_SetTextColor(hItem,BUTTON_CI_UNPRESSED|BUTTON_CI_PRESSED,GUI_MAKE_COLOR(0x00FFFFFF));
BUTTON_SetFont(hItem, &GUI_FontHZ16);
BUTTON_SetText(hItem, "确定");
WM_SetFocus(hItem);
}
if(Flags>=2)
{
hItem = BUTTON_CreateEx(12, MEGBOX_YSIZE-55, 55, 22,hClent, WM_CF_SHOW,0, GUI_ID_OK);//12
BUTTON_SetTextColor(hItem,BUTTON_CI_UNPRESSED|BUTTON_CI_PRESSED, GUI_MAKE_COLOR(0x00FFFFFF));
BUTTON_SetFont(hItem, &GUI_FontHZ16);
BUTTON_SetText(hItem, "取消");
hItem = BUTTON_CreateEx(85, MEGBOX_YSIZE-55, 55, 22,hClent, WM_CF_SHOW,0, GUI_ID_CANCEL);//85
BUTTON_SetTextColor(hItem,BUTTON_CI_UNPRESSED|BUTTON_CI_PRESSED,GUI_MAKE_COLOR(0x00FFFFFF));
BUTTON_SetFont(hItem, &GUI_FontHZ16);
BUTTON_SetText(hItem, "确定");
WM_SetFocus(hItem);
}
WM_MakeModal(hClent);
ret = GUI_ExecCreatedDialog(hFram);
return ret;
}
//MENU_SetSel(_hMenu, -1); |
|