嵌入式学习小组
直播中

刘溪

7年用户 192经验值
私信 关注

为什么ugui对话框不显示输入的字符?

/*********************************************************************
*                                                                    *
*                SEGGER Microcontroller GmbH & Co. KG                *
*        Solutions for real time microcontroller applications        *
*                                                                    *
**********************************************************************
*                                                                    *
* C-file generated by:                                               *
*                                                                    *
*        GUI_Builder for emWin version 5.26                          *
*        Compiled Aug  8 2014, 14:49:54                              *
*        (c) 2013 Segger Microcontroller GmbH & Co. KG               *
*                                                                    *
**********************************************************************
*                                                                    *
*        Internet: www.segger.com  Support: support@segger.com       *
*                                                                    *
**********************************************************************
*/
// USER START (Optionally insert additional includes)
// USER END
#include "DIALOG.h"
//#include "ButtonUse.h"
#include
#include
#include
#include "GUI.h"
#include "FRAMEWIN.h"
#include "MULTIPAGE.h"
#include "EDIT.H"
#include "FRAMEWIN.h"
#include "BUTTON.H"
#include "TEXT.H"
#include "RADIO.H"
#include "SLIDER.H"
#include "DROPDOWN.H"
#include "MULTIEDIT.H"
/*********************************************************************
*
*       Defines
*
**********************************************************************
*/
#define ID_FRAMEWIN_0 (GUI_ID_USER + 0x00)
#define ID_EDIT_0     (GUI_ID_USER + 0x1)
#define ID_BUTTON_DEL (GUI_ID_USER + 0x02)
#define ID_BUTTON_1 (GUI_ID_USER + 0x03)
#define ID_BUTTON_2 (GUI_ID_USER + 0x04)
#define ID_BUTTON_3 (GUI_ID_USER + 0x05)
#define ID_BUTTON_4 (GUI_ID_USER + 0x06)
#define ID_BUTTON_5 (GUI_ID_USER + 0x07)
#define ID_BUTTON_6 (GUI_ID_USER + 0x08)
#define ID_BUTTON_7 (GUI_ID_USER + 0x09)
#define ID_BUTTON_8 (GUI_ID_USER + 0x0A)
#define ID_BUTTON_9 (GUI_ID_USER + 0x0B)
#define ID_BUTTON_0 (GUI_ID_USER + 0x0C)
#define GUI_ID_CANCEL (GUI_ID_USER +0x0D)
#define GUI_ID_OK (GUI_ID_USER + 0x0E)
// USER START (Optionally insert additional defines)
// USER END
/*********************************************************************
*
*       Static data
*
**********************************************************************
*/
// USER START (Optionally insert additional static data)
// USER END
/*********************************************************************
*
*       _aDialogCreate
*/
static const GUI_WIDGET_CREATE_INFO _aDialogCreate_kb[] = {
  { FRAMEWIN_CreateIndirect, "Framewin", ID_FRAMEWIN_0, 0, 0, 800, 480, 0, 0x0, 0 },
  { EDIT_CreateIndirect,  "", ID_EDIT_0, 30, 20, 250, 50, 0, 0x64, 0 },
  { BUTTON_CreateIndirect, "DEL",ID_BUTTON_DEL, 637, 21, 120, 80, 0, 0x0, 0 },
  { BUTTON_CreateIndirect, "2", ID_BUTTON_1, 250, 100, 80, 80, 0, 0x0, 0 },
  { BUTTON_CreateIndirect, "1", ID_BUTTON_2, 120, 100, 80, 80, 0, 0x0, 0 },
  { BUTTON_CreateIndirect, "3", ID_BUTTON_3, 380, 100, 80, 80, 0, 0x0, 0 },
  { BUTTON_CreateIndirect, "4", ID_BUTTON_4, 120, 210, 80, 80, 0, 0x0, 0 },
  { BUTTON_CreateIndirect, "5", ID_BUTTON_5, 250, 210, 80, 80, 0, 0x0, 0 },
  { BUTTON_CreateIndirect, "6", ID_BUTTON_6, 380, 210, 80, 80, 0, 0x0, 0 },
  { BUTTON_CreateIndirect, "7", ID_BUTTON_7, 120, 320, 80, 80, 0, 0x0, 0 },
  { BUTTON_CreateIndirect, "8", ID_BUTTON_8, 250, 320, 80, 80, 0, 0x0, 0 },
  { BUTTON_CreateIndirect, "9", ID_BUTTON_9, 380, 320, 80, 80, 0, 0x0, 0 },
  { BUTTON_CreateIndirect, "0", ID_BUTTON_0, 510, 320, 80, 80, 0, 0x0, 0 },
  { BUTTON_CreateIndirect, "ESC",GUI_ID_CANCEL, 510, 210, 80, 80, 0, 0x0, 0 },
  { BUTTON_CreateIndirect, "OK", GUI_ID_OK, 510, 100, 80, 80, 0, 0x0, 0 },
  // USER START (Optionally insert additional widgets)
  // USER END
};
void PaintDialog_kb(WM_MESSAGE * pMsg)
{
    WM_HWIN hWin = pMsg->hWin;
}
/*********************************************************************
*
*       Static code
*
**********************************************************************
*/
// USER START (Optionally insert additional static code)
// USER END
/*********************************************************************
*
*       _cbDialog
*/
static void _cbCallback_kb(WM_MESSAGE * pMsg) {
  WM_HWIN hWin;
  int     NCode;
  int     Id;
  char BVtxt_temp[9];
  char BVtxt[9];
  // USER START (Optionally insert additional variables)
  // USER END
  switch (pMsg->MsgId) {
  case WM_INIT_DIALOG:
          hWin = pMsg->hWin;
    FRAMEWIN_SetTitleHeight(hWin, 60);
//   hWin = WM_GetDialogItem(pMsg->hWin, ID_EDIT_0);
    EDIT_SetFont(WM_GetDialogItem(hWin,ID_EDIT_0),&GUI_Font13_1);
//        EDIT_SetValue(WM_GetDialogItem(hWin,GUI_ID_EDIT0),0);
    EDIT_SetMaxLen(WM_GetDialogItem(hWin,ID_EDIT_0),9);
//        EDIT_SetDecMode(WM_GetDialogItem(hWin,GUI_ID_EDIT0),0,0,999.9999,4,0);
    //
//   EDIT_SetText(hWin, "");
//   EDIT_SetTextColor(hWin, EDIT_CI_ENABLED, 0x00000000);
//   EDIT_SetFont(hWin,&GUI_Font24_1);
//   EDIT_SetTextAlign(hWin, GUI_TA_LEFT | GUI_TA_VCENTER);
   // EDIT_SetDecMode(WM_GetDialogItem(hWin,ID_EDIT_0),0,0,256,2,0);
    //
    // Initialization of 'ESC'
    //
    hWin = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_DEL);
    BUTTON_SetFont(hWin,&GUI_Font24_1);
    //
    // Initialization of '2'
    //
    hWin = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_1);
    BUTTON_SetFont(hWin,&GUI_Font24_1);
    //
    // Initialization of '1'
    //
    hWin = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_2);
    BUTTON_SetFont(hWin,&GUI_Font24_1);
    //
    // Initialization of '3'
    //
    hWin = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_3);
    BUTTON_SetFont(hWin,&GUI_Font24_1);
    //
    // Initialization of '4'
    //
    hWin = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_4);
    BUTTON_SetFont(hWin,&GUI_Font24_1);
    //
    // Initialization of '5'
    //
    hWin = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_5);
    BUTTON_SetFont(hWin,&GUI_Font24_1);
    //
    // Initialization of '6'
    //
    hWin = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_6);
    BUTTON_SetFont(hWin,&GUI_Font24_1);
    //
    // Initialization of '7'
    //
    hWin = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_7);
    BUTTON_SetFont(hWin,&GUI_Font24_1);
    //
    // Initialization of '8'
    //
    hWin = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_8);
    BUTTON_SetFont(hWin,&GUI_Font24_1);
    //
    // Initialization of '9'
    //
    hWin = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_9);
    BUTTON_SetFont(hWin,&GUI_Font24_1);
    //
    // Initialization of '0'
    //
    hWin = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_0);
    BUTTON_SetFont(hWin,&GUI_Font24_1);
    //
    // Initialization of 'DEL'
    //
    hWin = WM_GetDialogItem(pMsg->hWin, GUI_ID_CANCEL);
    BUTTON_SetFont(hWin,&GUI_Font24_1);
    //
    // Initialization of 'OK'
    //
    hWin = WM_GetDialogItem(pMsg->hWin, GUI_ID_OK);
    BUTTON_SetFont(hWin,&GUI_Font24_1);
    // USER START (Optionally insert additional code for further widget initialization)
    // USER END
    break;
  case WM_PAINT:
          PaintDialog_kb(pMsg);
          break;
  case WM_KEY:
          switch (((WM_KEY_INFO*)(pMsg->Data.p))->Key)
                      {
                          case GUI_KEY_ESCAPE:
                              GUI_EndDialog(hWin, 1);
                              break;
                          case GUI_KEY_ENTER:
                              GUI_EndDialog(hWin, 0);
                              break;
                      }
                      break;
   case WM_NOTIFY_PARENT:
    Id    = WM_GetId(pMsg->hWinSrc);
    NCode = pMsg->Data.v;
                            switch(NCode)
                            {
                               case  WM_NOTIFICATION_RELEASED:
                                switch (Id)
                                {
                                    case GUI_ID_OK:
                                                            EDIT_AddKey(WM_GetDialogItem(hWin,ID_EDIT_0),'');
                                                            EDIT_GetText(WM_GetDialogItem(hWin,ID_EDIT_0),BVtxt_temp,sizeof(BVtxt_temp));
                                                           // strcpy(BVtxt,BVtxt_temp);
                                                           // GUI_EndDialog(hWin, 0);
                                                            break ;
                                                            }
                                        GUI_MessageBox("Press Right Number","Warning!!",0);
                                        break;
                                     case   GUI_ID_CANCEL:
                                            GUI_EndDialog(hWin, 0);
                                        break;
                                     case GUI_ID_BUTTON0:
                                                                    EDIT_AddKey(WM_GetDialogItem(hWin,ID_EDIT_0),'0');
                                                             break;
                                     case GUI_ID_BUTTON1:
                                                                    EDIT_AddKey(WM_GetDialogItem(hWin,ID_EDIT_0),'2');
                                                            break;
                                     case GUI_ID_BUTTON2:
                                                                    EDIT_AddKey(WM_GetDialogItem(hWin,ID_EDIT_0),'1');
                                                            break;
                                     case GUI_ID_BUTTON3:
                                                                    EDIT_AddKey(WM_GetDialogItem(hWin,ID_EDIT_0),'3');
                                                            break;
                                      case GUI_ID_BUTTON4:
                                                                    EDIT_AddKey(WM_GetDialogItem(hWin,ID_EDIT_0),'4');
                                                            break;
                                      case GUI_ID_BUTTON5:
                                                                    EDIT_AddKey(WM_GetDialogItem(hWin,ID_EDIT_0),'5');
                                                            break;
                                      case GUI_ID_BUTTON6:
                                                                    EDIT_AddKey(WM_GetDialogItem(hWin,ID_EDIT_0),'6');
                                                            break;
                                      case GUI_ID_BUTTON7:
                                                                     EDIT_AddKey(WM_GetDialogItem(hWin,ID_EDIT_0),'7');
                                                            break;
                                      case GUI_ID_BUTTON8:
                                                                     EDIT_AddKey(WM_GetDialogItem(hWin,ID_EDIT_0),'8');
                                                            break;
                                      case GUI_ID_BUTTON9:
                                                                     EDIT_AddKey(WM_GetDialogItem(hWin,ID_EDIT_0),'9');
                                                            break;
                                     // case ID_BUTTON_DEL:
                                     // EDIT_SetText(WM_GetDialogItem(hWin,GUI_ID_EDIT0),NULL);//清空输入框,挨个删除用下面两行
                                     // break;
                                }
                                        break;
                                default:
                                        WM_DefaultProc(pMsg);
                                        break;
                  }
                }
/*********************************************************************
*
*       Public code
*
**********************************************************************
*/
/*********************************************************************
*
*       CreateFramewin
*/
//  WM_HWIN CreateFramewin(void) {
// WM_HWIN hWin;
//  hWin = GUI_CreateDialogBox(_aDialogCreate_kb, GUI_COUNTOF(_aDialogCreate_kb), _cbCallback_kb, WM_HBKWIN, 0, 0);
//  return hWin;
//}
void Keyboard1(void)
{
        WM_HWIN hFrame;
        WM_HWIN hWin;
        GUI_Init();
        GUI_Clear();   //桌面窗口句柄
        hWin = GUI_CreateDialogBox(_aDialogCreate_kb, GUI_COUNTOF(_aDialogCreate_kb), _cbCallback_kb, WM_HBKWIN, 0, 0);
        //GUI_CURSOR_Show();
        while(1)
                {   GUI_TOUCH_Exec();
                        GUI_Exec();
                        GUI_Delay(1);
                }
        }
// USER START (Optionally insert additional public code)
// USER END
/*************************** End of file ****************************/

回帖(2)

武妹

2019-8-23 09:14:46
按button时有反应
举报

梁峰

2019-8-23 09:33:20
帮顶
举报

更多回帖

发帖
×
20
完善资料,
赚取积分