emWin(ucGui) Edit控件數值模式出現負數值編輯時,若是鍵盤按鍵全能夠設置獨立的"-","+"鍵,這樣能夠正常編輯正數和負數,可是要沒有設置這兩個鍵,編輯Edit的數值會比較麻煩,可使用"上"鍵和"下"鍵修改符號,可是光標沒法移動到後面的數值位,必須藉助"左"鍵和"右"鍵來移動光標,在嵌入式裏的按鍵比較有限制,若是不單獨設立"+","+","左","右"鍵,這時只能經過代碼來完成移位,方法是,修改符號位的同時手動移動光標: ui
/********************************************************************* spa
* 3d
* cbEdit 編輯控件回調 blog
*/ get
static void cbEdit0(WM_MESSAGE * pMsg) { it
switch (pMsg->MsgId) { sed
case WM_KEY: 方法
if(((WM_KEY_INFO *)(pMsg->Data.p))->PressedCnt != 0) im
break; static
switch (((WM_KEY_INFO *)(pMsg->Data.p))->Key){
case GUI_KEY_ENTER:
pretreatTemperature = EDIT_GetValue(widgetsItemBuf[0]);
WM_SetFocus(widgetsItemBuf[1]);
break;
case GUI_KEY_UP:
case GUI_KEY_DOWN:
if(((WM_KEY_INFO *)(pMsg->Data.p))->PressedCnt == 0)
if(EDIT_GetCursorCharPos(widgetsItemBuf[0]) == 0)
EDIT_SetCursorAtChar(widgetsItemBuf[0],1);
break;
}
break;
}
EDIT_Callback(pMsg);
}