硬汉嵌入式论坛

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

[emWin] emwin点击图标没有反应,所有控件都可以显示,但是整体好像卡死了,修改了存储空间为2*1024*1024

[复制链接]

2

主题

12

回帖

18

积分

新手上路

积分
18
发表于 2024-8-27 15:04:41 | 显示全部楼层 |阅读模式
                                         emwin文件
/*********************************************************************
*                                                                    *
*                SEGGER Microcontroller GmbH                         *
*        Solutions for real time microcontroller applications        *
*                                                                    *
**********************************************************************
*                                                                    *
* C-file generated by:                                               *
*                                                                    *
*        GUI_Builder for emWin version 6.16                          *
*        Compiled Nov 13 2020, 12:50:00                              *
*        (c) 2019 Segger Microcontroller GmbH                        *
*                                                                    *
**********************************************************************
*                                                                    *
*        Internet: www.segger.com  Support: support@segger.com       *
*                                                                    *
**********************************************************************
*/

// USER START (Optionally insert additional includes)
// USER END

#include "DIALOG.h"
#include "Menu_Icon.h"
#include "Win_Moitor.h"
/*********************************************************************
*
*       Defines
*
**********************************************************************
*/
#define ID_WINDOW_0    (GUI_ID_USER + 0x00)
#define ID_GRAPH_0    (GUI_ID_USER + 0x01)
#define ID_IMAGE_0    (GUI_ID_USER + 0x02)
#define ID_ICONVIEW_0    (GUI_ID_USER + 0x03)
#define ID_TEXT_0    (GUI_ID_USER + 0x04)
#define ID_TEXT_1    (GUI_ID_USER + 0x05)
#define ID_ICONVIEW_1    (GUI_ID_USER + 0x06)
#define ID_TEXT_2    (GUI_ID_USER + 0x07)
#define ID_TEXT_3    (GUI_ID_USER + 0x08)
#define ID_TEXT_4    (GUI_ID_USER + 0x09)
#define ID_TEXT_5    (GUI_ID_USER + 0x0A)
#define ID_TEXT_6    (GUI_ID_USER + 0x0B)
#define ID_TEXT_7    (GUI_ID_USER + 0x0C)
#define ID_TEXT_8    (GUI_ID_USER + 0x0D)

#define ID_IMAGE_0_IMAGE_0  0x00
extern GUI_CONST_STORAGE GUI_BITMAP bmMenu_Icon;//主菜单图标
// USER START (Optionally insert additional defines)
// USER END

/*********************************************************************
*
*       Static data
*
**********************************************************************
*/
/*********************************************************************
*
*       _acImage_0, "BMP", ID_IMAGE_0_IMAGE_0
*/
static const U8 _acImage_0[463] = {
  0x42, 0x4D, 0xCE, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x01, 0x00, 0x00, 0x12, 0x0B, 0x00, 0x00,
  0x12, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0xC2, 0x10, 0x84, 0x21, 0x08, 0x42, 0x40, 0x00, 0xA1, 0x08, 0x42, 0x10, 0x84, 0x21,
  0x40, 0x00, 0x90, 0x84, 0x21, 0x08, 0x42, 0x10, 0xC0, 0x00, 0x88, 0x42, 0x10, 0x84, 0x21, 0x08, 0x40, 0x00, 0x84, 0x21, 0x08, 0x42, 0x10, 0x84, 0x40, 0x00, 0xC2, 0x10, 0x84, 0x21, 0x08, 0x42, 0x40, 0x00, 0xA1, 0x08, 0x42, 0x10, 0x84, 0x21, 0x40, 0x00,
  0x90, 0x84, 0x21, 0x08, 0x42, 0x10, 0xC0, 0x00, 0x88, 0x42, 0x10, 0x84, 0x21, 0x08, 0x40, 0x00, 0x84, 0x21, 0x08, 0x42, 0x10, 0x84, 0x40, 0x00, 0xC2, 0x10, 0x84, 0x21, 0x08, 0x42, 0x40, 0x00, 0xA1, 0x08, 0x42, 0x10, 0x84, 0x21, 0x40, 0x00, 0x90, 0x84,
  0x21, 0x08, 0x42, 0x10, 0xC0, 0x00, 0x88, 0x42, 0x10, 0x84, 0x21, 0x08, 0x40, 0x00, 0x84, 0x21, 0x08, 0x42, 0x10, 0x84, 0x40, 0x00, 0xC2, 0x10, 0x84, 0x21, 0x08, 0x42, 0x40, 0x00, 0xA1, 0x08, 0x42, 0x10, 0x84, 0x21, 0x40, 0x00, 0x90, 0x84, 0x21, 0x08,
  0x42, 0x10, 0xC0, 0x00, 0x88, 0x42, 0x10, 0x84, 0x21, 0x08, 0x40, 0x00, 0x84, 0x21, 0x08, 0x42, 0x10, 0x84, 0x40, 0x00, 0xC2, 0x10, 0x84, 0x21, 0x08, 0x42, 0x40, 0x00, 0xA1, 0x08, 0x42, 0x10, 0x84, 0x21, 0x40, 0x00, 0x90, 0x84, 0x21, 0x08, 0x42, 0x10,
  0xC0, 0x00, 0x88, 0x42, 0x10, 0x84, 0x21, 0x08, 0x40, 0x00, 0x84, 0x21, 0x08, 0x42, 0x10, 0x84, 0x40, 0x00, 0xC2, 0x10, 0x84, 0x21, 0x08, 0x42, 0x40, 0x00, 0xA1, 0x08, 0x42, 0x10, 0x84, 0x21, 0x40, 0x00, 0x90, 0x84, 0x21, 0x08, 0x42, 0x10, 0xC0, 0x00,
  0x88, 0x42, 0x10, 0x84, 0x21, 0x08, 0x40, 0x00, 0x84, 0x21, 0x08, 0x42, 0x10, 0x84, 0x40, 0x00, 0xC2, 0x10, 0x84, 0x21, 0x08, 0x42, 0x40, 0x00, 0xA1, 0x08, 0x42, 0x10, 0x84, 0x21, 0x40, 0x00, 0x90, 0x84, 0x21, 0x08, 0x42, 0x10, 0xC0, 0x00, 0x88, 0x42,
  0x10, 0x84, 0x21, 0x08, 0x40, 0x00, 0x84, 0x21, 0x08, 0x42, 0x10, 0x84, 0x40, 0x00, 0xC2, 0x10, 0x84, 0x21, 0x08, 0x42, 0x40, 0x00, 0xA1, 0x08, 0x42, 0x10, 0x84, 0x21, 0x40, 0x00, 0x90, 0x84, 0x21, 0x08, 0x42, 0x10, 0xC0, 0x00, 0x88, 0x42, 0x10, 0x84,
  0x21, 0x08, 0x40, 0x00, 0x84, 0x21, 0x08, 0x42, 0x10, 0x84, 0x40, 0x00, 0xC2, 0x10, 0x84, 0x21, 0x08, 0x42, 0x40, 0x00, 0xA1, 0x08, 0x42, 0x10, 0x84, 0x21, 0x40, 0x00, 0x90, 0x84, 0x21, 0x08, 0x42, 0x10, 0xC0, 0x00, 0x88, 0x42, 0x10, 0x84, 0x21, 0x08,
  0x40, 0x00, 0x84, 0x21, 0x08, 0x42, 0x10, 0x84, 0x40, 0x00, 0xC2, 0x10, 0x84, 0x21, 0x08, 0x42, 0x40, 0x00, 0xA1, 0x08, 0x42, 0x10, 0x84, 0x21, 0x40, 0x00, 0x90, 0x84, 0x21, 0x08, 0x42, 0x10, 0xC0, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x00,
  0x00,
};

// USER START (Optionally insert additional static data)
// USER END

/*********************************************************************
*            
*       _aDialogCreate  0x009001E
*/
static const GUI_WIDGET_CREATE_INFO _aDialogCreate[] = {
  { WINDOW_CreateIndirect, "Win_Monitor", ID_WINDOW_0, 320, 250, 320, 240, 0, 0x0, 0 },
  { GRAPH_CreateIndirect, "Nm_Deg_Graph", ID_GRAPH_0, 6, 59, 315, 176, 0, 0x0, 0 },
  { IMAGE_CreateIndirect, "Device_Logo", ID_IMAGE_0, 6, 8, 40, 40, 0, 0x00200020, 0 },
  { ICONVIEW_CreateIndirect, "Connect_Show", ID_ICONVIEW_0, 59, 9, 40, 40, 0, 0x0, 0 },
  { TEXT_CreateIndirect, "Task_Show_Text", ID_TEXT_0, 105, 8, 90, 40, 0, 0x64, 0 },
  { TEXT_CreateIndirect, "Time_Show", ID_TEXT_1, 201, 12, 60, 30, 0, 0x0, 0 },
  { IMAGE_CreateIndirect, "Menu_Icon", ID_ICONVIEW_1, 277, 8, 40, 40, 0,0x00200020, 0 },
  { TEXT_CreateIndirect, "Nm_Value_Text", ID_TEXT_2, 93, 66, 100, 25, 0, 0x0, 0 },
  { TEXT_CreateIndirect, "Deg_Value_Text", ID_TEXT_3, 93, 91, 100, 25, 0, 0x0, 0 },
  { TEXT_CreateIndirect, "Num_Value_Text", ID_TEXT_4, 94, 119, 100, 25, 0, 0x0, 0 },
  { TEXT_CreateIndirect, "N.m_Title_Text", ID_TEXT_5, 34, 67, 40, 25, 0, 0x0, 0 },
  { TEXT_CreateIndirect, "Deg_Title_Text", ID_TEXT_6, 36, 95, 40, 25, 0, 0x0, 0 },
  { TEXT_CreateIndirect, "Num_Title_Text", ID_TEXT_7, 36, 120, 40, 25, 0, 0x0, 0 },
  { TEXT_CreateIndirect, "Effect_Show", ID_TEXT_8, 281, 189, 30, 30, 0, 0x0, 0 },
  // USER START (Optionally insert additional widgets)
  // USER END
};

/*********************************************************************
*
*       Static code
*
**********************************************************************
*/
/*********************************************************************
*
*       _GetImageById
*/
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;
}

// USER START (Optionally insert additional static code)
// USER END

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

  switch (pMsg->MsgId) {
  case WM_INIT_DIALOG:
    //
    // Initialization of 'Nm_Deg_Graph'
    //
    hItem = WM_GetDialogItem(pMsg->hWin, ID_GRAPH_0);
    GRAPH_SetBorder(hItem, 0, 0, 0, 0);
回复

使用道具 举报

2

主题

12

回帖

18

积分

新手上路

积分
18
 楼主| 发表于 2024-8-27 15:46:56 | 显示全部楼层
hItem = WM_GetDialogItem(pMsg->hWin, ID_GRAPH_0);
    GRAPH_SetBorder(hItem, 0, 0, 0, 0);
         
       
//       
          hItem = WM_GetDialogItem(pMsg->hWin, ID_IMAGE_0);
        IMAGE_SetBitmap(hItem, &bmMenu_Icon);
       
//         hItem = WM_GetDialogItem(pMsg->hWin, ID_ICONVIEW_1);
//        IMAGE_SetBitmap(hItem, &bmMenu_Icon);
////       
//    hItem = WM_GetDialogItem(pMsg->hWin, ID_ICONVIEW_1);
//    ICONVIEW_AddBitmapItem(hItem, &bmMenu_Icon, "");//添加图标
        //ICONVIEW_AddStreamedBitmapItem(hItem, &bmMenu_Icon,"");
    //
    // Initialization of 'Device_Logo'
    //
//    hItem = WM_GetDialogItem(pMsg->hWin, ID_IMAGE_0);
//    pData = _GetImageById(ID_IMAGE_0_IMAGE_0, &FileSize);
//    IMAGE_SetBMP(hItem, pData, FileSize);
    //
    // Initialization of 'Task_Show_Text'
    //
    hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_0);
    TEXT_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER);
    TEXT_SetText(hItem, "task");
          TEXT_SetTextColor(hItem,GUI_RED);
    TEXT_SetFont(hItem, &GUI_Font10_1);
    //
    // Initialization of 'Time_Show'
    //
    hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_1);
    TEXT_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER);
    TEXT_SetFont(hItem, GUI_FONT_13_1);
    //
    // Initialization of 'Nm_Value_Text'
    //
    hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_2);
    TEXT_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER);
    TEXT_SetTextColor(hItem, GUI_MAKE_COLOR(0x00FF0080));
    //
    // Initialization of 'Deg_Value_Text'
    //
    hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_3);
    TEXT_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER);
    TEXT_SetTextColor(hItem, GUI_MAKE_COLOR(0x00FF8000));
    //
    // Initialization of 'Num_Value_Text'
    //
    hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_4);
    TEXT_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER);
    TEXT_SetTextColor(hItem, GUI_MAKE_COLOR(0x0040FF00));
    //
    // Initialization of 'N.m_Title_Text'
    //
    hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_5);
    TEXT_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER);
    TEXT_SetTextColor(hItem, GUI_MAKE_COLOR(0x00FF0080));
    //
    // Initialization of 'Deg_Title_Text'
    //
    hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_6);
    TEXT_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER);
    TEXT_SetTextColor(hItem, GUI_MAKE_COLOR(0x00FF8000));
    //
    // Initialization of 'Num_Title_Text'
    //
    hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_7);
    TEXT_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER);
    TEXT_SetTextColor(hItem, GUI_MAKE_COLOR(0x0040FF00));
    //
    // Initialization of 'Effect_Show'
    //
    hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_8);
    TEXT_SetTextColor(hItem, GUI_MAKE_COLOR(0x0000FF00));
    TEXT_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER);
    // USER START (Optionally insert additional code for further widget initialization)
    // USER END
    break;
  case WM_NOTIFY_PARENT:
    Id    = WM_GetId(pMsg->hWinSrc);
    NCode = pMsg->Data.v;
    switch(Id) {
    case ID_ICONVIEW_0: // Notifications sent by 'Connect_Show'
      switch(NCode) {
      case WM_NOTIFICATION_CLICKED:
        // USER START (Optionally insert code for reacting on notification message)
        // USER END
        break;
      case WM_NOTIFICATION_RELEASED:
        // USER START (Optionally insert code for reacting on notification message)
        // USER END
        break;
      case WM_NOTIFICATION_MOVED_OUT:
        // USER START (Optionally insert code for reacting on notification message)
        // USER END
        break;
      case WM_NOTIFICATION_SCROLL_CHANGED:
        // USER START (Optionally insert code for reacting on notification message)
        // USER END
        break;
      case WM_NOTIFICATION_SEL_CHANGED:
        // USER START (Optionally insert code for reacting on notification message)
        // USER END
        break;
      // USER START (Optionally insert additional code for further notification handling)
      // USER END
      }
      break;
    case ID_IMAGE_0: // Notifications sent by 'Menu_Icon'
      switch(NCode) {
      case WM_NOTIFICATION_CLICKED:
                                 hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_8);
    TEXT_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER);
    TEXT_SetText(hItem, "task");
          TEXT_SetTextColor(hItem,GUI_MAKE_COLOR(0x0040FF00));
                        TEXT_SetFont(hItem, &GUI_Font10_1);
                        //GUI_Exec();
        // USER START (Optionally insert code for reacting on notification message)
        // USER END
        break;
      case WM_NOTIFICATION_RELEASED:
        // USER START (Optionally insert code for reacting on notification message)
        // USER END
        break;
      case WM_NOTIFICATION_MOVED_OUT:
        // USER START (Optionally insert code for reacting on notification message)
        // USER END
        break;
      case WM_NOTIFICATION_SCROLL_CHANGED:
        // USER START (Optionally insert code for reacting on notification message)
        // USER END
        break;
      case WM_NOTIFICATION_SEL_CHANGED:
        // USER START (Optionally insert code for reacting on notification message)
        // USER END
        break;
      // USER START (Optionally insert additional code for further notification handling)
      // USER END
      }
      break;
    // USER START (Optionally insert additional code for further Ids)
    // USER END
    }
    break;
  // USER START (Optionally insert additional message handling)
  // USER END
  default:
    WM_DefaultProc(pMsg);
    break;
  }
}

/*********************************************************************
*
*       Public code
*
**********************************************************************
*/
/*********************************************************************
*
*       CreateWin_Monitor
*/

WM_HWIN CreateWin_Monitor(void) {
  WM_HWIN hWin;

  hWin = GUI_CreateDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), _cbDialog, WM_HBKWIN, -320, -250);
  GUI_Exec();
        return hWin;
}

// USER START (Optionally insert additional public code)
// USER END

/*************************** End of file ****************************/
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
116223
QQ
发表于 2024-8-28 09:27:26 | 显示全部楼层
将emWin游标箭头显示处理,水平和垂直滑动,看看能跟着一起走吗
回复

使用道具 举报

2

主题

12

回帖

18

积分

新手上路

积分
18
 楼主| 发表于 2024-8-28 11:44:36 | 显示全部楼层
加了GUI_CURSOR_Show();光标不会随着触摸进行移动,而且加了光标显示会导致其他部分控件不显示的情况
回复

使用道具 举报

2

主题

12

回帖

18

积分

新手上路

积分
18
 楼主| 发表于 2024-8-28 11:45:34 | 显示全部楼层
eric2013 发表于 2024-8-28 09:27
将emWin游标箭头显示处理,水平和垂直滑动,看看能跟着一起走吗

加了GUI_CURSOR_Show();光标不会跟随触摸移动,而且会导致部分控件不显示
回复

使用道具 举报

2

主题

12

回帖

18

积分

新手上路

积分
18
 楼主| 发表于 2024-8-28 12:05:09 | 显示全部楼层
加了GUI_CURSOR_Show();但是光标不会跟随移动,还出现部分控件无法显示的问题
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
116223
QQ
发表于 2024-8-28 15:37:34 | 显示全部楼层
lijinlong0720 发表于 2024-8-28 11:45
加了GUI_CURSOR_Show();光标不会跟随触摸移动,而且会导致部分控件不显示

这种情况,那你的触摸移植有问题,优先解决下
回复

使用道具 举报

2

主题

12

回帖

18

积分

新手上路

积分
18
 楼主| 发表于 2024-8-28 15:41:00 | 显示全部楼层
好,我去试试
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-10 11:18 , Processed in 0.334678 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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