|
static int Current_Button=0;
static const GUI_WIDGET_CREATE_INFO m_ChangeAdvancedInnerMenuPasswordDialogCreate[] = {
{ FRAMEWIN_CreateIndirect, "高级内部菜单密码修改", 0, 0, 0, 320,240,FRAMEWIN_CF_MOVEABLE,0},
{ TEXT_CreateIndirect, "密码", GUI_ID_TEXT0, 10, 10, 40, 20, 0,0},
{ EDIT_CreateIndirect, "2324", GUI_ID_EDIT0, 60, 10, 80,20, 0,0},
{ BUTTON_CreateIndirect, "设置", GUI_ID_BUTTON0, 260,140,40, 25, 0,0},
};
/*****************************************************************
** FunctionName:void PaintDialog(WM_MESSAGE * pMsg)
** Function: to initialize the Dialog items
**
** call this function in _cbCallback --> WM_PAINT
*****************************************************************/
static void PaintDialog(WM_MESSAGE * pMsg)
{
WM_HWIN hWin = pMsg->hWin;
}
/*****************************************************************
** FunctionName:void InitDialog(WM_MESSAGE * pMsg)
** Function: to initialize the Dialog items
**
** call this function in _cbCallback --> WM_INIT_DIALOG
*****************************************************************/
static void InitDialog(WM_MESSAGE * pMsg)
{
WM_HWIN hWin = pMsg->hWin;
FRAMEWIN_SetBarColor(hWin,1,GUI_BLACK);
FRAMEWIN_SetClientColor(hWin,GUI_WHITE);
FRAMEWIN_SetFont(hWin,&GUI_FontHZ_SimSun_14);
TEXT_SetFont(WM_GetDialogItem(hWin,GUI_ID_TEXT0),&GUI_FontHZ_SimSun_14);
BUTTON_SetFont(WM_GetDialogItem(hWin,GUI_ID_BUTTON0),&GUI_FontHZ_SimSun_14);
BUTTON_SetTextColor(WM_GetDialogItem(hWin,GUI_ID_BUTTON0),0,GUI_BLACK);
BUTTON_SetBkColor(WM_GetDialogItem(hWin,GUI_ID_BUTTON0), 0, GUI_WHITE);
EDIT_SetFont(WM_GetDialogItem(hWin,GUI_ID_EDIT0),&GUI_FontHZ_SimSun_14);
EDIT_SetText(WM_GetDialogItem(hWin,GUI_ID_EDIT0),InnerMenuPassword);
Cd_Button_handle=WM_GetDialogItem(hWin,GUI_ID_EDIT0);
EDIT_SetBkColor(Cd_Button_handle,1,GUI_BLACK);
EDIT_SetTextColor(Cd_Button_handle,0,GUI_WHITE);
Current_Button=0;
}
/*********************************************************************
*
* Dialog callback routine
*/
static void m_ChangeAdvancedInnerMenuPasswordCallback(WM_MESSAGE * pMsg)
{
int NCode, Id;
char tt0[1]={0x7F};
WM_HWIN hWin = pMsg->hWin;
switch (pMsg->MsgId)
{
case WM_PAINT:
PaintDialog(pMsg);
break;
case WM_INIT_DIALOG:
InitDialog(pMsg);
break;
case WM_KEY:
switch (((WM_KEY_INFO*)(pMsg->Data.p))->Key)
{
case GUI_KEY_ESCAPE:
//GUI_EndDialog(hWin, 1);
WIN_Exit(0);
break;
case GUI_KEY_ENTER:
//GUI_EndDialog(hWin, 0);
switch(Current_Button){
case 0:
_MileageCalDialogCreate(resetChangeAdvancedInnerMenuPassword);
break;
case 1:
// strcpy(InnerMenuPassword,callstr0);
I2c_WriteEEPROM(ADDR_InnerMenuPassword,InnerMenuPassword,10);
I2c_WriteEEPROM(ADDR_InnerMenuPasswordflag,tt0,1);
WIN_Exit(0);
}
break;
case GUI_KEY_UP:
switch(Current_Button){
case 0:
EDIT_SetBkColor(Cd_Button_handle,1,GUI_WHITE);
EDIT_SetTextColor(Cd_Button_handle,0,GUI_BLACK);
Cd_Button_handle=WM_GetDialogItem(hWin,GUI_ID_BUTTON0);
BUTTON_SetBkColor(Cd_Button_handle, 0, GUI_BLACK);
BUTTON_SetTextColor(Cd_Button_handle,0,GUI_WHITE);
Current_Button=1;
break;
case 1:
BUTTON_SetBkColor(Cd_Button_handle,0,GUI_WHITE);
BUTTON_SetTextColor(Cd_Button_handle,0,GUI_BLACK);
Cd_Button_handle=WM_GetDialogItem(hWin,GUI_ID_EDIT0);
EDIT_SetBkColor(Cd_Button_handle, 1, GUI_BLACK);
EDIT_SetTextColor(Cd_Button_handle,0,GUI_WHITE);
Current_Button=0;
break;
}
break;
case GUI_KEY_DOWN:
switch(Current_Button){
case 0:
EDIT_SetBkColor(Cd_Button_handle,1,GUI_WHITE);
EDIT_SetTextColor(Cd_Button_handle,0,GUI_BLACK);
Cd_Button_handle=WM_GetDialogItem(hWin,GUI_ID_BUTTON0);
BUTTON_SetBkColor(Cd_Button_handle, 0, GUI_BLACK);
BUTTON_SetTextColor(Cd_Button_handle,0,GUI_WHITE);
Current_Button=1;
break;
case 1:
BUTTON_SetBkColor(Cd_Button_handle,0,GUI_WHITE);
BUTTON_SetTextColor(Cd_Button_handle,0,GUI_BLACK);
Cd_Button_handle=WM_GetDialogItem(hWin,GUI_ID_EDIT0);
EDIT_SetBkColor(Cd_Button_handle, 1, GUI_BLACK);
EDIT_SetTextColor(Cd_Button_handle,0,GUI_WHITE);
Current_Button=0;
break;
}
break;
break;
}
break;
case WM_NOTIFY_PARENT:
Id = WM_GetId(pMsg->hWinSrc);
NCode = pMsg->Data.v;
switch (Id)
{
case GUI_ID_OK:
if(NCode==WM_NOTIFICATION_RELEASED)
GUI_EndDialog(hWin, 0);
break;
case GUI_ID_CANCEL:
if(NCode==WM_NOTIFICATION_RELEASED)
GUI_EndDialog(hWin, 0);
break;
}
break;
default:
WM_DefaultProc(pMsg);
}
}
/*******************************************************************************
* Function Name :_SysSetCommCreate
* Description :可返回的列表窗口建立
* Input :void * p
* Output :void
* Other :
* Date :2016/03/06
*******************************************************************************/
static void _ChangeAdvancedInnerMenuPasswordCreate(void *p)
{
MENU_INFO_ITEM *pMenu = (MENU_INFO_ITEM *)p;
//新建窗口
m_ChangeAdvancedInnerMenuPassword.hFrame = GUI_CreateDialogBox(m_ChangeAdvancedInnerMenuPasswordDialogCreate,
GUI_COUNTOF(m_ChangeAdvancedInnerMenuPasswordDialogCreate),
m_ChangeAdvancedInnerMenuPasswordCallback, WM_HBKWIN, 0, 0);
//WM_SetFocus(WM_GetDialogItem(m_ChangeAdvancedInnerMenuPassword.hFrame,GUI_ID_EDIT0));
WM_SetFocus(WM_GetDialogItem(m_ChangeAdvancedInnerMenuPassword.hFrame,GUI_ID_BUTTON0));
}
使用WM_SetFocus(WM_GetDialogItem(m_ChangeAdvancedInnerMenuPassword.hFrame,GUI_ID_EDIT0));将焦点初始化到EDIT0上,进入界面后,各个按键都不能用,但把焦点放在BUTTON0上,进入界面后就会在BUTTON0上出现虚线框,使界面不美观,请教下,这个问题怎么来解决呢 |
|