/** * Update EDIT boxes on LCD function */ static void lcd_update_values(WM_HWIN hWin_up) { WM_HWIN hItem; char tbuff[16]; static uint32_t ipaddr, hostip; if (ipaddr != ipcex_getGblVal(SHGBL_IPADDR)) { if (!ipaddr) lcd_create_infobox(); ipaddr = ipcex_getGblVal(SHGBL_IPADDR); /* Set Host IP Address */ hItem = WM_GetDialogItem(hWin_up, ID_EDIT_0); EDIT_SetTextAlign(hItem, GUI_TA_HCENTER); EDIT_SetBkColor(hItem, EDIT_CI_DISABLED, GUI_GREEN); EDIT_SetTextColor(hItem, EDIT_CI_DISABLED, GUI_GREEN); snprintf(tbuff, sizeof(tbuff) - 1, "%d.%d.%d.%d", ipaddr & 0xFF, (ipaddr >> 8) & 0xFF, (ipaddr >> 16) & 0xFF, (ipaddr >> 24) & 0xFF); EDIT_SetText(hItem, tbuff); } if (ipaddr && hostip != ipcex_getGblVal(SHGBL_HOSTADDR)) { hostip = ipcex_getGblVal(SHGBL_HOSTADDR); /* Set Remote IP address */ hItem = WM_GetDialogItem(hWin_up, ID_EDIT_1); EDIT_SetTextAlign(hItem, GUI_TA_HCENTER); EDIT_SetBkColor(hItem, EDIT_CI_DISABLED, GUI_RED); EDIT_SetTextColor(hItem, EDIT_CI_DISABLED, GUI_RED); snprintf(tbuff, sizeof(tbuff)-1, "%d.%d.%d.%d", hostip & 0xFF, (hostip >> 8) & 0xFF, (hostip >> 16) & 0xFF, (hostip >> 24) & 0xFF); EDIT_SetText(hItem, tbuff); }
void ADS_Color_Change(void) { WM_HWIN hItem; int i; for(i=0;i<2;i++) { hItem=WM_GetDialogItem(g_hWin_AdvanSet,ID_EDIT_0+i); if(WM_HasFocus(hItem)==1) { EDIT_SetBkColor(hItem,0,GUI_GREEN); } else if(WM_HasFocus(hItem)==0) { EDIT_SetBkColor(hItem,0,0xC0C0C0); } } }
static void CreateCalculator(WM_HWIN hWin) { int y0 = 55; int XSize = LCD_GetXSize(); int YSize = LCD_GetYSize(); int XStep = XSize / 5; int YStep = (YSize - y0 - 25) / 4; char ac[2]; char *s=NULL; int XPos,YPos; int i = 0; for (i = 0; i < 19; i++) { if (i == 14) i = 15; XPos = (i % 5) * XStep + 3; YPos = (i / 5) * YStep + 3 + y0; memset(&ac, 0, sizeof(char)* 2); s = ac; ac[0] = _acText[i]; if (i == 18) { hButton[i] = BUTTON_CreateAsChild(XPos, YPos, XStep * 2 - 5, YStep - 5, hWin, _acText[i], WM_CF_SHOW); } else if (i == 9) hButton[i] = BUTTON_CreateAsChild(XPos, YPos, XStep - 5, YStep * 2 - 5, hWin, _acText[i], WM_CF_SHOW); else hButton[i] = BUTTON_CreateAsChild(XPos, YPos, XStep - 5, YStep - 5, hWin, _acText[i], WM_CF_SHOW); BUTTON_SetBkColor(hButton[i], BUTTON_CI_UNPRESSED, 0x50A0FF); BUTTON_SetBkColor(hButton[i], BUTTON_CI_PRESSED, 0x004080); BUTTON_SetTextColor(hButton[i], BUTTON_CI_UNPRESSED, GUI_WHITE); BUTTON_SetTextColor(hButton[i], BUTTON_CI_PRESSED, GUI_WHITE); BUTTON_SetFont(hButton[i], &GUI_Font24B_ASCII); if (i == 18) { BUTTON_SetText(hButton[i], "EXIT"); } else BUTTON_SetText(hButton[i], s); } hEdit = EDIT_CreateAsChild(0, 0, 320, 50, hWin, 0, WM_CF_SHOW, 80); EDIT_SetTextColor(hEdit, 0, 0x0080FF); EDIT_SetFont(hEdit, &GUI_Font24B_ASCII); EDIT_SetBkColor(hEdit, 0, GUI_RED); }
/******************************************************************************************************* * * 函数名称: * * 函数功能: * * 入口参数: * * 出口参数: 无 * * 说明: * *******************************************************************************************************/ void InitKBDlg(WM_MESSAGE * pMsg) { int i; char str_buff[10]; WM_HWIN hWin = pMsg->hWin; FRAMEWIN_SetClientColor(hWin,RGB(185,205,232)); BUTTON_SetBkColor(WM_GetDialogItem(hWin,GUI_ID_BUTTON_NUM0),BUTTON_CI_UNPRESSED, RGB(70,77,106)); BUTTON_SetBkColor(WM_GetDialogItem(hWin,GUI_ID_BUTTON_NUM0),BUTTON_CI_PRESSED, RGB(123,128,106)); BUTTON_SetTextColor(WM_GetDialogItem(hWin,GUI_ID_BUTTON_NUM0),BUTTON_CI_UNPRESSED, GUI_WHITE); BUTTON_SetTextColor(WM_GetDialogItem(hWin,GUI_ID_BUTTON_NUM0),BUTTON_CI_PRESSED, GUI_WHITE); BUTTON_SetFont(WM_GetDialogItem(hWin,GUI_ID_BUTTON_NUM0),&GUI_Font16_ASCII); for (i = 2; i < 2 + 14; i++) //共14个按钮,在数组中的索引从2开始 { BUTTON_SetBkColor(WM_GetDialogItem(hWin,_aTextDialogCreate[i].Id),BUTTON_CI_UNPRESSED, RGB(70,77,106)); BUTTON_SetBkColor(WM_GetDialogItem(hWin,_aTextDialogCreate[i].Id),BUTTON_CI_PRESSED, RGB(123,128,106)); BUTTON_SetTextColor(WM_GetDialogItem(hWin,_aTextDialogCreate[i].Id),BUTTON_CI_UNPRESSED, GUI_WHITE); BUTTON_SetTextColor(WM_GetDialogItem(hWin,_aTextDialogCreate[i].Id),BUTTON_CI_PRESSED, GUI_WHITE); BUTTON_SetFont(WM_GetDialogItem(hWin,_aTextDialogCreate[i].Id),&GUI_Font16_ASCII); } //GUI_ID_EDIT_KEYBOART // EDIT_SetTextAlign(WM_GetDialogItem(hWin,GUI_ID_EDIT_KB_INPUT), EDIT_CF_RIGHT|EDIT_CF_BOTTOM); EDIT_SetBkColor(WM_GetDialogItem(hWin,GUI_ID_EDIT_KB_INPUT), EDIT_CI_ENABLED,0xe7eaeb ); EDIT_SetFont(WM_GetDialogItem(hWin,GUI_ID_EDIT_KB_INPUT),&GUI_FontD32); EDIT_SetTextColor(WM_GetDialogItem(hWin,GUI_ID_EDIT_KB_INPUT),0,GUI_RED); sprintf(str_buff,"%ld",ParentParam); EDIT_SetText(WM_GetDialogItem(hWin,GUI_ID_EDIT_KB_INPUT),str_buff); }
void _cbWindowSetting(WM_MESSAGE* pMsg) { WM_HWIN hWin = pMsg->hWin; WM_HWIN _edit0; WM_HWIN _edit1; int edit_id = 256; int VALUE; int i = 0; switch (pMsg->MsgId) { case WM_CREATE: WIDGET_SetDefaultEffect (&WIDGET_Effect_None); EDIT_SetDefaultTextAlign(GUI_TA_HCENTER | GUI_TA_VCENTER); EDIT_SetDefaultFont(&GUI_Font28); EDIT_CreateEx(200,60,62,30,hWin,WM_CF_SHOW,0,GUI_ID_EDIT0,1);//夜间模式 EDIT_CreateEx(150,110,62,30,hWin,WM_CF_SHOW,0,GUI_ID_EDIT1,1);//音量 EDIT_CreateEx(150,160,62,30,hWin,WM_CF_SHOW,0,GUI_ID_EDIT2,1);//亮度 EDIT_CreateEx(150,210,62,30,hWin,WM_CF_SHOW,0,GUI_ID_EDIT3,2);//时区 EDIT_CreateEx(240,260,62,30,hWin,WM_CF_SHOW,0,GUI_ID_EDIT4,1);//报警音1 EDIT_CreateEx(170,310,62,30,hWin,WM_CF_SHOW,0,GUI_ID_EDIT5,1);//按键音1 EDIT_CreateEx(200,360,62,30,hWin,WM_CF_SHOW,0,GUI_ID_EDIT6,1);//单位显示 EDIT_CreateEx(200,410,62,30,hWin,WM_CF_SHOW,0,GUI_ID_EDIT7,1);//船形显示 for (i = 0; i < 8; i++) { _edit0 = WM_GetDialogItem(hWin, GUI_ID_EDIT0 + i); EDIT_SetText(_edit0,"0"); EDIT_SetpfAddKeyEx (_edit0,_cbEditAddKey); EDIT_SetBkColor(_edit0,1,GUI_LIGHTBLUE); EDIT_SetBkColor(_edit0,0,GUI_WHITE); } break; case WM_PAINT: GUI_SetBkColor (GUI_LIGHTBLUE); GUI_Clear(); for (i = 0; i < 8; i++) { _edit0 = WM_GetDialogItem(hWin, GUI_ID_EDIT0 + i); EDIT_SetTextColor(_edit0,0,GUI_BLACK); } EDIT_SetTextColor (WM_GetDialogItem(hWin, edit_id),0,GUI_WHITE); GUI_SetTextMode(GUI_TEXTMODE_TRANS); GUI_SetColor (GUI_BLACK); GUI_SetFont (&GUI_Font28); GUI_DispStringAt ("系统设置",230,10); GUI_DispStringAt ("01:夜间模式:",5,60); GUI_DispStringAt ("02:音量:",5,110); GUI_DispStringAt ("03:亮度:",5,160); GUI_DispStringAt ("04:时区:",5,210); GUI_DispStringAt ("05:报警音选择:",5,260); GUI_DispStringAt ("06:按键音:",5,310); GUI_DispStringAt ("07:单位设置:",5,360); GUI_DispStringAt ("08:船位显示:",5,410); GUI_DispStringAt ("09:船迹存储时间:",330,60); GUI_DispStringAt ("10:软件更新:",330,110); GUI_DispStringAt ("11:系统版本:",330,160); GUI_SetColor (GUI_WHITE); GUI_SetPenSize(2); GUI_DrawLine(1,50,1,470); GUI_DrawLine(1,50,673,50); GUI_DrawLine(673,50,673,470); GUI_DrawLine(1,470,673,470); break; case WM_KEY: switch (((WM_KEY_INFO*)(pMsg->Data.p))->Key) { case GUI_KEY_TAB: //判断当前焦点所在的位置,将焦点移至下一个窗口 downlistfocus++; if (downlistfocus == 369) downlistfocus = 384; if (downlistfocus == 388) downlistfocus = 256; if (downlistfocus == 257) downlistfocus = 368; //设置焦点 WM_SetFocus(WM_GetDialogItem (hWin, downlistfocus)); break; case GUI_KEY_BACKTAB: //判断当前焦点所在的位置,将焦点移至上一个窗口 downlistfocus--; if (downlistfocus == 383) downlistfocus = 368; if (downlistfocus == 367) downlistfocus = 256; if (downlistfocus == 255) downlistfocus = 387; //设置焦点 WM_SetFocus (WM_GetDialogItem(hWin, downlistfocus)); break; case GUI_KEY_RIGHT: break; case GUI_KEY_F1: break; case GUI_KEY_F2: break; case GUI_KEY_SPACE: printf ("ddsf"); break; case GUI_KEY_ENTER: break; case GUI_KEY_UP: break; case GUI_KEY_DOWN: WM_SetFocusOnNextChild(hWin); //edit_id ++; break; case GUI_KEY_LEFT: menufocus -= 5; focuschange = 0; WM_SetFocus(WM_GetDialogItem (hDlg_Menu, menufocus)); WM_Paint(hDlg_Menu); break; case GUI_KEY_MENU: WM_BringToTop (hDlg_FishMap); WM_SetFocus (hDlg_FishMap); menufocus = 368; break; } break; default: WM_DefaultProc(pMsg); } }