emWin(ucGui) Edit控件數值模式 ——符號編輯 worldsing


emWin(ucGui) Edit控件數值模式出現負數值編輯時,如果鍵盤按鍵全可以設置獨立的"-","+"鍵,這樣可以正常編輯正數和負數,但是要沒有設置這兩個鍵,編輯Edit的數值會比較麻煩,可以使用"上"鍵和"下"鍵修改符號,但是光標無法移動到后面的數值位,必須借助"左"鍵和"右"鍵來移動光標,在嵌入式里的按鍵比較有限制,如果不單獨設立"+","+","左","右"鍵,這時只能通過代碼來完成移位,方法是,修改符號位的同時手動移動光標:

 

/*********************************************************************

*

* cbEdit 編輯控件回調

*/

static void cbEdit0(WM_MESSAGE * pMsg) {

    switch (pMsg->MsgId) {

    case WM_KEY:

        if(((WM_KEY_INFO *)(pMsg->Data.p))->PressedCnt != 0)

            break;

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

}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM