硬汉嵌入式论坛

 找回密码
 立即注册
查看: 4878|回复: 10
收起左侧

[emWin] emwin点击编辑框弹出数字软键盘

[复制链接]

22

主题

114

回帖

180

积分

初级会员

积分
180
发表于 2020-8-6 17:02:06 | 显示全部楼层 |阅读模式
1.怎么点击编辑框弹出软键盘?
2.在软键盘输入的数据怎么在编辑框显示?
3.怎么获取编辑框的数据用于其他用途?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115799
QQ
发表于 2020-8-6 17:27:21 | 显示全部楼层
用这个例子实现即可,你先把这个例子看下,那里不理解,回帖交流。

Num pad demo---emWin的数字键盘
http://www.armbbs.cn/forum.php?mod=viewthread&tid=6042
回复

使用道具 举报

22

主题

114

回帖

180

积分

初级会员

积分
180
 楼主| 发表于 2020-8-11 15:38:11 | 显示全部楼层
eric2013 发表于 2020-8-6 17:27
用这个例子实现即可,你先把这个例子看下,那里不理解,回帖交流。

Num pad demo---emWin的数字键盘

#ifndef  __FramewinDLG_H
#define  __FramewinDLG_H
#include "DIALOG.h"
#include "EmWinHZFont.h"

#define  FramewinDLG_TYPE
#else
#define  FrameinDLG_TYPE     extern
#endif

#define  FramewinDLG_TYPE_CLYLE

#define ID_FRAMEWIN_0        (GUI_ID_USER + 0x00)
#define ID_IMAGE_0        (GUI_ID_USER + 0x01)
#define ID_TEXT_0       (GUI_ID_USER + 0x02)
#define ID_TEXT_1       (GUI_ID_USER + 0x03)
#define ID_TEXT_2       (GUI_ID_USER + 0x04)
#define ID_TEXT_3       (GUI_ID_USER + 0x05)
#define ID_TEXT_4       (GUI_ID_USER + 0x06)
#define ID_TEXT_5       (GUI_ID_USER + 0x07)
#define ID_EDIT_0       (GUI_ID_USER + 0x08)
#define ID_EDIT_1       (GUI_ID_USER + 0x09)
#define ID_EDIT_2       (GUI_ID_USER + 0x0A)
#define ID_EDIT_3       (GUI_ID_USER + 0x0B)
#define ID_EDIT_4       (GUI_ID_USER + 0x0C)
#define ID_TEXT_6       (GUI_ID_USER + 0x0D)
#define ID_TEXT_7       (GUI_ID_USER + 0x0E)
#define ID_TEXT_8       (GUI_ID_USER + 0x0F)
#define ID_TEXT_9       (GUI_ID_USER + 0x10)
#define ID_TEXT_10       (GUI_ID_USER + 0x11)
#define ID_TEXT_11       (GUI_ID_USER + 0x12)
#define ID_TEXT_12      (GUI_ID_USER + 0x13)
#define ID_BUTTON_0       (GUI_ID_USER + 0x14)
#define ID_BUTTON_1       (GUI_ID_USER + 0x15)
#define ID_BUTTON_2       (GUI_ID_USER + 0x16)
#define ID_BUTTON_3       (GUI_ID_USER + 0x17)
#define ID_WINDOW_MY      (GUI_ID_USER + 0x18)
#define ID_BUTTON_7       (GUI_ID_USER + 0x19)
#define ID_BUTTON_8       (GUI_ID_USER + 0x1A)
#define ID_BUTTON_9       (GUI_ID_USER + 0x1B)
#define ID_BUTTON_10       (GUI_ID_USER + 0x1C)
#define ID_BUTTON_11       (GUI_ID_USER + 0x1D)
#define ID_BUTTON_12       (GUI_ID_USER + 0x1E)
#define ID_BUTTON_13       (GUI_ID_USER + 0x1F)
#define ID_BUTTON_14       (GUI_ID_USER + 0x20)
#define ID_BUTTON_15       (GUI_ID_USER + 0x21)
#define ID_BUTTON_16       (GUI_ID_USER + 0x22)
#define ID_BUTTON_17       (GUI_ID_USER + 0x23)
#define ID_BUTTON_18       (GUI_ID_USER + 0x24)
#define ID_BUTTON_19       (GUI_ID_USER + 0x25)
#define ID_BUTTON_20       (GUI_ID_USER + 0x26)

#define ID_IMAGE_0_IMAGE_0       0x00

FramewinDLG_TYPE WM_HWIN hItemNumPad;
static const void * _GetImageById(U32 Id, U32 * pSize) {
  switch (Id) {
  case ID_IMAGE_0_IMAGE_0:
    *pSize = sizeof(_acImage_0);
    return (const void *)_acImage_0;
  }
  return NULL;
}

//static int _aKey[] = {GUI_KEY_DELETE, GUI_KEY_TAB, GUI_KEY_LEFT, GUI_KEY_RIGHT};


static void _cbDialog(WM_MESSAGE * pMsg) {
  const void * pData;
  U32          FileSize;
  WM_HWIN      hItem;
  int          NCode;
  int          Id;
  unsigned char i;
  // USER START (Optionally insert additional variables)
  // USER END

  switch (pMsg->MsgId) {
  case WM_INIT_DIALOG:
    //
    // Initialization of 'Framewin'
    //
    hItem = pMsg->hWin;
    FRAMEWIN_SetTitleHeight(hItem, 1);
    //
    // Initialization of 'Image'
    //
    hItem = WM_GetDialogItem(pMsg->hWin, ID_IMAGE_0);
    pData = _GetImageById(ID_IMAGE_0_IMAGE_0, &FileSize);
    IMAGE_SetJPEG(hItem, pData, FileSize);
    //
    // Initialization of 'Text'
    //
    hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_0);
        TEXT_SetFont(hItem,&GUI_FontHZ24);
        TEXT_SetTextColor(hItem,GUI_WHITE);
        TEXT_SetText(hItem,"测试信息");
    hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_1);
        TEXT_SetFont(hItem,&GUI_FontHZ32);
        TEXT_SetTextColor(hItem,GUI_WHITE);
        TEXT_SetText(hItem,"产品条码");
    hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_2);
        TEXT_SetFont(hItem,&GUI_FontHZ32);
        TEXT_SetTextColor(hItem,GUI_WHITE);
        TEXT_SetText(hItem,"检测压力");
    hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_3);
        TEXT_SetFont(hItem,&GUI_FontHZ32);
        TEXT_SetTextColor(hItem, GUI_WHITE);
        TEXT_SetText(hItem,"当前压差");
    hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_4);
        TEXT_SetFont(hItem,&GUI_FontHZ32);
        TEXT_SetTextColor(hItem,GUI_WHITE);
        TEXT_SetText(hItem,"检测数量");
    hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_5);
        TEXT_SetFont(hItem,&GUI_FontHZ32);
        TEXT_SetTextColor(hItem,GUI_WHITE);
        TEXT_SetText(hItem,"合格品率");
    hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_6);
        TEXT_SetFont(hItem,&GUI_FontHZ32);
        TEXT_SetTextColor(hItem,GUI_WHITE);
        TEXT_SetText(hItem,"Kpa");
    hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_7);
        TEXT_SetFont(hItem,&GUI_FontHZ32);
        TEXT_SetTextColor(hItem,GUI_WHITE);
        TEXT_SetText(hItem,"Pa");
    hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_8);
        TEXT_SetFont(hItem,&GUI_FontHZ32);
        TEXT_SetTextColor(hItem,GUI_WHITE);
        TEXT_SetText(hItem,"PCS");
    hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_9);
        TEXT_SetFont(hItem,&GUI_FontHZ32);
        TEXT_SetTextColor(hItem,GUI_WHITE);
        TEXT_SetText(hItem,"%");
    hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_10);
        TEXT_SetFont(hItem,&GUI_FontHZ24);
        TEXT_SetTextColor(hItem,GUI_WHITE);
        TEXT_SetText(hItem,"泄露量");
    hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_11);
        TEXT_SetFont(hItem,&GUI_FontHZ24);
        TEXT_SetTextColor(hItem,GUI_WHITE);
        TEXT_SetText(hItem,"Pa");
        hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_12);
    TEXT_SetFont(hItem, &GUI_FontHZ32);
                TEXT_SetTextColor(hItem,GUI_WHITE);
                TEXT_SetText(hItem,"0.0");
       

   
        // Initialization of 'Button'
   
        hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_0);
    BUTTON_SetFont(hItem,&GUI_FontHZ24);
    BUTTON_SetText(hItem,"测试记录");
    hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_1);
    BUTTON_SetFont(hItem,&GUI_FontHZ24);
    BUTTON_SetText(hItem,"参数设置");
        hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_2);
    BUTTON_SetFont(hItem,&GUI_FontHZ24);
    BUTTON_SetText(hItem,"停  止");       
        hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_3);
    BUTTON_SetFont(hItem,&GUI_FontHZ24);
    BUTTON_SetText(hItem,"起  动");
       
        for(i = 0; i < ID_EDIT_4 - ID_EDIT_0 + 1;i ++)
        {
                hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_0 + i);          // 编辑框
                EDIT_SetFont(hItem,  &GUI_FontHZ32);
                //EDIT_EnableBlink(hItem, 500, 1);
                EDIT_SetMaxLen(hItem,3);
                EDIT_SetText(hItem,"");
                EDIT_SetTextAlign(hItem,GUI_TA_LEFT | GUI_TA_VCENTER);
        }
       
    break;
  case WM_NOTIFY_PARENT:
    Id    = WM_GetId(pMsg->hWinSrc);
    NCode = pMsg->Data.v;
    switch(Id) {
    case ID_EDIT_0: // Notifications sent by 'Edit'
      switch(NCode) {
      case WM_NOTIFICATION_CLICKED:
                WM_ShowWindow(hItemNumPad);
        break;
      case WM_NOTIFICATION_RELEASED:     
        break;
      case WM_NOTIFICATION_VALUE_CHANGED:
        break;
      }
      break;
    case ID_EDIT_1: // Notifications sent by 'Edit'
      switch(NCode) {
      case WM_NOTIFICATION_CLICKED:
                WM_ShowWindow(hItemNumPad);
        break;
      //case WM_NOTIFICATION_RELEASED:
        //break;
      case WM_NOTIFICATION_VALUE_CHANGED:
        break;
      }
      break;
    case ID_EDIT_2: // Notifications sent by 'Edit'
      switch(NCode) {
      case WM_NOTIFICATION_CLICKED:
                WM_ShowWindow(hItemNumPad);
        break;
//      case WM_NOTIFICATION_RELEASED:
//        break;
      case WM_NOTIFICATION_VALUE_CHANGED:
        break;
      }
      break;
    case ID_EDIT_3: // Notifications sent by 'Edit'
      switch(NCode) {
      case WM_NOTIFICATION_CLICKED:
        break;
      case WM_NOTIFICATION_RELEASED:
        break;
      case WM_NOTIFICATION_VALUE_CHANGED:
        break;
      }
      break;
    case ID_EDIT_4: // Notifications sent by 'Edit'
      switch(NCode) {
      case WM_NOTIFICATION_CLICKED:
        break;
      case WM_NOTIFICATION_RELEASED:
        break;
      case WM_NOTIFICATION_VALUE_CHANGED:
        break;
      }
      break;
    case ID_BUTTON_0: // Notifications sent by 'Button'
      switch(NCode) {
      case WM_NOTIFICATION_CLICKED:
        break;
      case WM_NOTIFICATION_RELEASED:
        break;
          case WM_NOTIFICATION_VALUE_CHANGED:
                break;
      }
      break;
    case ID_BUTTON_1: // Notifications sent by 'Button'
      switch(NCode) {
      case WM_NOTIFICATION_CLICKED:
        break;
      case WM_NOTIFICATION_RELEASED:
        break;
                        case WM_NOTIFICATION_VALUE_CHANGED:
                        break;
      }
      break;
    case ID_BUTTON_2: // Notifications sent by 'Button'
      switch(NCode) {
      case WM_NOTIFICATION_CLICKED:
        break;
      case WM_NOTIFICATION_RELEASED:
        break;
                        case WM_NOTIFICATION_VALUE_CHANGED:
                        break;
      }
      break;
    case ID_BUTTON_3: // Notifications sent by 'Button'
      switch(NCode) {
      case WM_NOTIFICATION_CLICKED:
        break;
      case WM_NOTIFICATION_RELEASED:
        break;
                        case WM_NOTIFICATION_VALUE_CHANGED:
                        break;
      }
      break;
    }
    break;
  default:
    WM_DefaultProc(pMsg);
    break;
  }
}


// 向下按键回调函数
static void _cbButtonDown(WM_MESSAGE * pMsg)
{
        WM_HWIN hWin;
        hWin = pMsg->hWin;
        switch(pMsg->MsgId)
        {
                case WM_PAINT:
                        if(BUTTON_IsPressed(hWin))
                        {
                                GUI_SetBkColor(GUI_WHITE);
                                GUI_Clear();
                               
                        }
                        else
                        {
                                GUI_SetBkColor(GUI_LIGHTGRAY);
                                GUI_Clear();
                                GUI_PNG_Draw(acdown,sizeof(acdown),16,5);
                                GUI_SetColor(GUI_WHITE);
                                GUI_DrawHLine(1,0,80);
                                GUI_DrawHLine(55,0,80);


                                GUI_SetColor(GUI_BLACK);
                                GUI_DrawHLine(0,0,80);
                                GUI_DrawHLine(56,0,80);
                                GUI_DrawHLine(57,0,80);
                                GUI_DrawVLine(0,0,58);
                                GUI_DrawVLine(80,0,58);
                        }
                        break;
                default:
                        BUTTON_Callback(pMsg);
                        break;
        }
}

// 删除按键回调函数
static void _cbButtonDelete(WM_MESSAGE * pMsg)
{
        WM_HWIN hWin;
        hWin = pMsg->hWin;
        switch(pMsg->MsgId)
        {
                case WM_PAINT:
                        if(BUTTON_IsPressed(hWin))
                        {
                                GUI_SetBkColor(GUI_WHITE);
                                GUI_Clear();
                        }
                        else
                        {
                                GUI_SetBkColor(GUI_LIGHTGRAY);
                                GUI_Clear();
                                GUI_PNG_Draw(acbackspace,sizeof(acbackspace),35,50);
                                GUI_SetColor(GUI_WHITE);
                                GUI_DrawHLine(1,0,118);
                                GUI_DrawHLine(145,0,118);
                                GUI_DrawVLine(1,0,148);

                                GUI_SetColor(GUI_BLACK);
                                GUI_DrawHLine(0,0,118);
                                GUI_DrawHLine(146,0,118);
                                GUI_DrawHLine(147,0,118);
                                GUI_DrawVLine(0,0,148);
                                GUI_DrawVLine(117,0,148);
                        }
                        break;
                default:
                        BUTTON_Callback(pMsg);
                        break;
        }
}

// 回车按键回调函数
static void _cbButtonEnter(WM_MESSAGE * pMsg)
{
        WM_HWIN hWin;
        hWin = pMsg->hWin;
        switch(pMsg->MsgId)
        {
                case WM_PAINT:
                        if(BUTTON_IsPressed(hWin))
                        {
                                GUI_SetBkColor(GUI_WHITE);
                                GUI_Clear();
                        }
                        else
                        {
                                GUI_SetBkColor(GUI_LIGHTGRAY);
                                GUI_Clear();
                                GUI_PNG_Draw(acenter,sizeof(acenter),35,50);
                                GUI_SetColor(GUI_WHITE);
                                GUI_DrawHLine(1,0,118);
                                GUI_DrawHLine(145,0,118);
                                GUI_DrawVLine(1,0,148);

                                GUI_SetColor(GUI_BLACK);
                                GUI_DrawHLine(0,0,118);
                                GUI_DrawHLine(146,0,118);
                                GUI_DrawHLine(147,0,118);
                                GUI_DrawVLine(0,0,148);
                                GUI_DrawVLine(117,0,148);
                        }
                        break;
                default:
                        BUTTON_Callback(pMsg);
                        break;
        }
}

// 数字键盘窗口回调函数
static void _cbWindowNumPadPage(WM_MESSAGE * pMsg)
{
        int      Pressed;
        int     NCode;
    int     Id;
       
        Pressed = 0;
        switch (pMsg->MsgId) {
          case WM_PAINT:
                GUI_SetBkColor(GUI_GRAY);
                GUI_Clear();

                // 画两个按键框
                GUI_SetColor(GUI_BLACK);
                GUI_AA_FillRoundedRect(1,1,395,57,3);
                GUI_AA_FillRoundedRect(1,286,118,358,5);

        GUI_SetColor(GUI_WHITE);
                GUI_AA_FillRoundedRect(2,2,394,56,3);
                GUI_AA_FillRoundedRect(2,287,117,357,5);


                break;
          case WM_NOTIFY_PARENT:
                Id    = WM_GetId(pMsg->hWinSrc);
                NCode = pMsg->Data.v;
                switch(NCode) {
                        case WM_NOTIFICATION_CLICKED:
                                if(Id == ID_BUTTON_7)
                                        break;
                                Pressed = 1;
                        case WM_NOTIFICATION_RELEASED:
                                switch(Id) {
                                case ID_BUTTON_7:                         // 向下
                                        GUI_EndDialog(pMsg->hWin, 0);
                                        //WM_HideWindow(hItemNumPad);
                                        break;
                                case ID_BUTTON_8:                         // 1  
                                        GUI_SendKeyMsg('1', Pressed);
                                        break;
                                case ID_BUTTON_9:                         // 2  
                                        GUI_SendKeyMsg('2', Pressed);
                                        break;
                                case ID_BUTTON_10:                         // 3  
                                        GUI_SendKeyMsg('3', Pressed);
                                        break;
                                case ID_BUTTON_11:                         // 4  
                                        GUI_SendKeyMsg('4', Pressed);
                                        break;
                                case ID_BUTTON_12:                         // 5  
                                        GUI_SendKeyMsg('5', Pressed);
                                        break;
                                case ID_BUTTON_13:                         // 6  
                                        GUI_SendKeyMsg('6', Pressed);
                                        break;
                                case ID_BUTTON_14:                         // 7  
                                        GUI_SendKeyMsg('7', Pressed);
                                        break;
                                case ID_BUTTON_15:                         // 8  
                                        GUI_SendKeyMsg('8', Pressed);
                                        break;
                                case ID_BUTTON_16:                         // 9  
                                        GUI_SendKeyMsg('9', Pressed);
                                        break;
                                case ID_BUTTON_17:                         // 0  
                                        GUI_SendKeyMsg('0', Pressed);
                                        break;
                                case ID_BUTTON_18:                         // .
                                        GUI_SendKeyMsg('.', Pressed);
                                        break;
                                case ID_BUTTON_19:                         // delete  
                                        GUI_SendKeyMsg(GUI_KEY_BACKSPACE, Pressed);
                                        break;
                                case ID_BUTTON_20:                         // enter
                                        // GUI_SendKeyMsg('1', Pressed);
                                        break;
                                }
                                break;
                }
               
          default:
                WM_DefaultProc(pMsg);
        }
}
// 数字键盘对话框设置界面
static void _cbDialogNumPadPage(WM_MESSAGE * pMsg) {
  WM_HWIN hItem;
  unsigned int i;
  switch (pMsg->MsgId) {
  case WM_INIT_DIALOG:
       
        // 窗口
    hItem = pMsg->hWin;
          WM_SetCallback(hItem,_cbWindowNumPadPage);                  // 窗口
   
        // 按键禁止输入焦点
        for(i = 0; i < ID_BUTTON_20 - ID_BUTTON_7 + 1; i++)
        {
                hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_7 + i);
                BUTTON_SetBkColor(hItem,BUTTON_CI_UNPRESSED,GUI_LIGHTGRAY);
                BUTTON_SetFont(hItem,GUI_FONT_32_ASCII);
                BUTTON_SetFocussable(hItem,0);
        }

        // 向下按键
        hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_7);
        WM_SetCallback(hItem,_cbButtonDown);

        // 删除键
        hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_19);
        WM_SetCallback(hItem,_cbButtonDelete);

        // 回车键
        hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_20);
        WM_SetCallback(hItem,_cbButtonEnter);

    break;
  default:
    WM_DefaultProc(pMsg);
    break;
  }
}
/*********************************************************************
*
*       Public code
*
**********************************************************************
*/
/*********************************************************************
*
*       CreateFramewin
*/
void f_MainTask(void) {
  #if GUI_SUPPORT_MEMDEV
    WM_SetCreateFlags(WM_CF_MEMDEV);
  #endif
  WM_SetCreateFlags(WM_CF_MEMDEV);
  GUI_Init();
WM_HWIN hWin;
    hWin = GUI_CreateDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), _cbDialog, WM_HBKWIN, 0, 0);

}

/*************************** End of file ****************************/
这个键盘怎么弹不出来?点击EDIT没反应,硬汉哥可以帮忙看看吗?我用WM_ShowWindow(hItemhNumPad)来显示键盘窗口
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115799
QQ
发表于 2020-8-12 00:29:18 | 显示全部楼层
zxc19970106 发表于 2020-8-11 15:38
#ifndef  __FramewinDLG_H
#define  __FramewinDLG_H
#include "DIALOG.h"

在模拟器上能直接跑不。
回复

使用道具 举报

22

主题

114

回帖

180

积分

初级会员

积分
180
 楼主| 发表于 2020-8-12 09:40:08 | 显示全部楼层
eric2013 发表于 2020-8-12 00:29
在模拟器上能直接跑不。

模拟器上没试过,但板子上能跑,只是键盘功能没能实现而已
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115799
QQ
发表于 2020-8-12 09:46:06 | 显示全部楼层
zxc19970106 发表于 2020-8-12 09:40
模拟器上没试过,但板子上能跑,只是键盘功能没能实现而已

方便的话,这个模拟器上能用的,要不没法帮你测试。
回复

使用道具 举报

22

主题

114

回帖

180

积分

初级会员

积分
180
 楼主| 发表于 2020-8-12 10:41:03 | 显示全部楼层
eric2013 发表于 2020-8-12 09:46
方便的话,这个模拟器上能用的,要不没法帮你测试。

可是我用VS2013模拟它老是运行emwin自带的demo,明明我都把其他的从生成中排除了
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115799
QQ
发表于 2020-8-13 00:45:56 | 显示全部楼层
zxc19970106 发表于 2020-8-12 10:41
可是我用VS2013模拟它老是运行emwin自带的demo,明明我都把其他的从生成中排除了

看我们教程里面的方法试试
http://www.armbbs.cn/forum.php?m ... &extra=page%3D1
回复

使用道具 举报

22

主题

114

回帖

180

积分

初级会员

积分
180
 楼主| 发表于 2020-8-17 10:44:37 | 显示全部楼层
eric2013 发表于 2020-8-13 00:45
看我们教程里面的方法试试
http://www.armbbs.cn/forum.php?mod=viewthread&tid=19834&extra=page%3D1

编译的时候出现了几个警告,都是关于这个数字软键盘的,说是定义了这几个函数但没有使用,我想使用它怎么办
回复

使用道具 举报

22

主题

114

回帖

180

积分

初级会员

积分
180
 楼主| 发表于 2020-8-21 17:43:35 | 显示全部楼层
eric2013 发表于 2020-8-13 00:45
看我们教程里面的方法试试
http://www.armbbs.cn/forum.php?mod=viewthread&tid=19834&extra=page%3D1

你们那个教程里的VS2013模拟部分链接失效了
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115799
QQ
发表于 2020-8-22 08:31:14 | 显示全部楼层
zxc19970106 发表于 2020-8-21 17:43
你们那个教程里的VS2013模拟部分链接失效了

论坛老地址修改到新地址的简单方法
http://www.armbbs.cn/forum.php?m ... 5344&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-5-19 11:36 , Processed in 0.577605 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表