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);
}