硬汉嵌入式论坛

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

[emWin] STemwin更新EDIT内部数据问题

[复制链接]
回帖奖励 9 个金币 回复本帖可获得 1 个金币奖励! 每人限 1 次

1

主题

1

回帖

4

积分

新手上路

积分
4
发表于 2023-7-5 10:59:08 | 显示全部楼层 |阅读模式
做了一个可切换的页面,现在想把EDIT里面的内容根据传感器采集到的数据进行更新。   做了一个测试,随便定义了一个数累加给EDIT去更新,我的思路是用WM_SendMessageNoPara(WM_GetClientWindow(CreateWindow3()),WM_NOTIFICATION_CLICKED)发信息在按键点击中执行更新数据。       遇到的问题就是如果我手动点击是可以更新,如果发信息页面就会不断重绘,有人知道是什么原因么。或者有什么好的动态更新EDIT数据的方法(或者是其他控件),新手求指点。




代码如下:

#include "DIALOG.h"
#include <stdio.h>
#include "adc.h"
#include "stm32f4xx_adc.h"



int ceshi = 0;
extern GUI_CONST_STORAGE GUI_FONT GUI_Fontsongti14;
extern GUI_CONST_STORAGE GUI_FONT GUI_Fontsongti16;
extern GUI_CONST_STORAGE GUI_FONT GUI_Fontsongti16daisanjiao;



/*********************************************************************
*
*       Defines
*
**********************************************************************
*/
#define ID_WINDOW_0      (GUI_ID_USER + 0x00)
#define ID_TEXT_0        (GUI_ID_USER + 0x01)
#define ID_TEXT_1        (GUI_ID_USER + 0x02)
#define ID_TEXT_2        (GUI_ID_USER + 0x03)
#define ID_TEXT_3        (GUI_ID_USER + 0x04)
#define ID_BUTTON_0      (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_TEXT_4        (GUI_ID_USER + 0x0B)
#define ID_TEXT_5        (GUI_ID_USER + 0x0C)
#define ID_TEXT_6        (GUI_ID_USER + 0x0D)
#define ID_TEXT_7        (GUI_ID_USER + 0x0E)


// 0 1 2 3 4 5 6 7 8 9 A B C D E F 10

//#define ID_WINDOW_0        (GUI_ID_USER + 0x0F)
#define ID_TEXT_9          (GUI_ID_USER + 0x010)
#define ID_TEXT_10         (GUI_ID_USER + 0x11)
#define ID_BUTTON_1        (GUI_ID_USER + 0x16)
#define ID_EDIT_3          (GUI_ID_USER + 0x18)
#define ID_TEXT_11         (GUI_ID_USER + 0x1B)

#define ID_TEXT_12         (GUI_ID_USER + 0x1D)
#define ID_BUTTON_2        (GUI_ID_USER + 0x1E)
#define ID_BUTTON_3        (GUI_ID_USER + 0x1F)
#define ID_BUTTON_4        (GUI_ID_USER + 0x20)
#define ID_BUTTON_5        (GUI_ID_USER + 0x21)


#define WM_UPDATE      (WM_USER + 0x00)

WM_HTIMER CreateT(void);
WM_HWIN CreateWindow3(void);
u16 adc_data;

char str[20]; //定义一个字符数组,用于存储转换后的字符串



// 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[] = {
  { WINDOW_CreateIndirect, "Window", ID_WINDOW_0, 0, 0, 320, 240, 0, 0x0, 0 },
  { TEXT_CreateIndirect, "Text", ID_TEXT_0, 0, 0, 319, 48, 0, 0, 0 },
  { TEXT_CreateIndirect, "Text", ID_TEXT_1, 40, 61, 112, 31, 0, 0, 0 },
  { TEXT_CreateIndirect, "Text", ID_TEXT_2, 40, 112, 112, 31, 0, 0, 0 },
  { TEXT_CreateIndirect, "Text", ID_TEXT_3, 40, 163, 112, 31, 0, 0, 0 },
  { BUTTON_CreateIndirect, "Button", ID_BUTTON_0, 1, 203, 107, 38, 0, 0x0, 0 },
  { EDIT_CreateIndirect, "Edit", ID_EDIT_0, 158, 60, 80, 31, 0, 0x64, 0 },
  { EDIT_CreateIndirect, "Edit", ID_EDIT_1, 158, 111, 80, 31, 0, 0x64, 0 },
  { EDIT_CreateIndirect, "Edit", ID_EDIT_2, 158, 162, 80, 31, 0, 0x64, 0 },
  { TEXT_CreateIndirect, "Text", ID_TEXT_4, 258, 67, 80, 20, 0, 0x0, 0 },
  { TEXT_CreateIndirect, "Text", ID_TEXT_5, 258, 118, 80, 20, 0, 0x0, 0 },
  { TEXT_CreateIndirect, "Text", ID_TEXT_6, 258, 169, 80, 20, 0, 0x0, 0 },
  { TEXT_CreateIndirect, "Text", ID_TEXT_7, 126, 206, 194, 34, 0, 0x0, 0 },
  //{ WINDOW_CreateIndirect, "Window", ID_WINDOW_0, -3, 0, 320, 240, 0, 0x0, 0 },
  { TEXT_CreateIndirect, "Text", ID_TEXT_9, 0, 0, 319, 48, 0, 0x64, 0 },
  { TEXT_CreateIndirect, "Text", ID_TEXT_10, 45, 55, 112, 31, 0, 0x64, 0 },
  { BUTTON_CreateIndirect, "Button", ID_BUTTON_1, 1, 203, 107, 38, 0, 0x0, 0 },
  { EDIT_CreateIndirect, "Edit", ID_EDIT_3, 161, 55, 100, 31, 0, 0x64, 0 },
  { TEXT_CreateIndirect, "Text", ID_TEXT_11, 235, 61, 80, 20, 0, 0x0, 0 },
  { TEXT_CreateIndirect, "Text", ID_TEXT_12, 126, 206, 194, 34, 0, 0x0, 0 },
  { BUTTON_CreateIndirect, "Button", ID_BUTTON_2, 41, 100, 120, 40, 0, 0x0, 0 },
  { BUTTON_CreateIndirect, "Button", ID_BUTTON_3, 161, 140, 120, 40, 0, 0x0, 0 },
  { BUTTON_CreateIndirect, "Button", ID_BUTTON_4, 41, 140, 120, 40, 0, 0x0, 0 },
  { BUTTON_CreateIndirect, "Button", ID_BUTTON_5, 161, 100, 120, 40, 0, 0x0, 0 },
  // USER START (Optionally insert additional widgets)
  // USER END
};

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


*       Static code
*
**********************************************************************
*/

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

/*********************************************************************
*
*       _cbDialog
*/
static void _cbDialog(WM_MESSAGE * pMsg) {
       

  WM_HWIN hItem;
  int     NCode;
  int     Id;

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

  switch (pMsg->MsgId) {
          
           case WM_UPDATE:
        //CreateT();          
        //WM_RestartTimer(CreateT(),10000);
                        // WM_RestartTimer(TIMER_ID,10000);
                 
//                           hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_2);
//    EDIT_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER);
//           sprintf(str, "%d", ceshi); //将整数转换为字符串格式
//    EDIT_SetText(hItem, str);
          
          ceshi++;
        hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_2);
    EDIT_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER);
        sprintf(str, "%d", ceshi); //将整数转换为字符串格式
    EDIT_SetText(hItem, str);
          // GUI_Exec();
        // WM_InvalidateWindow(pMsg->hWin);
          
          
                 
     break;       
                       
//          case WM_PAINT:
//                 
//    hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_2);
//    EDIT_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER);
//        sprintf(str, "%d", ceshi); //将整数转换为字符串格式
//    EDIT_SetText(hItem, str);
//          
//                  hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_1);
//    EDIT_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER);
//            EDIT_SetText(hItem, "20.0");
//          
//          break;
  case WM_INIT_DIALOG:
          
    GUI_UC_SetEncodeUTF8();
    //
    // Initialization of 'Text'
    //


    hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_9);
    TEXT_SetFont(hItem,&GUI_Fontsongti16);
    TEXT_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER);
    TEXT_SetText(hItem, "激 光 器 电 动 控 制 系 统1");
// GUI_EndDialog(WM_GetDialogItem(pMsg->hWin, ID_TEXT_9 ), 0);
    //
    // Initialization of 'Text'
    //
    hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_10);
    TEXT_SetFont(hItem,&GUI_Fontsongti16);
    TEXT_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER);
    TEXT_SetBkColor(hItem, GUI_BLUE);
    TEXT_SetText(hItem, "激 光 能 量1");
// GUI_EndDialog(WM_GetDialogItem(pMsg->hWin, ID_TEXT_10 ), 0);
    //
    // Initialization of 'Text'
    //
    hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_11);
    TEXT_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER);
        TEXT_SetFont(hItem, GUI_FONT_13HB_ASCII);
    TEXT_SetText(hItem, "W");
        //GUI_EndDialog(WM_GetDialogItem(pMsg->hWin,  ID_TEXT_11 ), 0);
    //
    // Initialization of 'Text'
    //

       
        hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_12);
    TEXT_SetFont(hItem,&GUI_Fontsongti16);
    TEXT_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER);
        TEXT_SetBkColor(hItem, GUI_BLUE);
    TEXT_SetText(hItem, "系统操作提示1");
        //GUI_EndDialog(WM_GetDialogItem(pMsg->hWin, ID_TEXT_12 ), 0);

       
       
    // USER START (Optionally insert additional code for further widget initialization)
    // USER END
       
    // Initialization of 'Button'
    //
     hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_1);
         //TEXT_SetFont(hItem,&GUI_Fontsongti16daisanjiao);
     BUTTON_SetFont(hItem, &GUI_Fontsongti16daisanjiao);
     BUTTON_SetText(hItem, "▼1");
    //GUI_EndDialog(WM_GetDialogItem(pMsg->hWin, ID_BUTTON_1 ), 0);



     hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_2);
         //TEXT_SetFont(hItem,&GUI_Fontsongti16daisanjiao);
         BUTTON_SetBkColor(hItem, 0, GUI_BLUE);
     BUTTON_SetFont(hItem, &GUI_Fontsongti16);
     BUTTON_SetText(hItem, "自    检1");
     //GUI_EndDialog(WM_GetDialogItem(pMsg->hWin, ID_BUTTON_2 ), 0);
     //WM_HideWindow(WM_GetDialogItem(pMsg->hWin, ID_BUTTON_2));

    hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_3);
        //TEXT_SetFont(hItem,&GUI_Fontsongti16daisanjiao);
        BUTTON_SetBkColor(hItem, 0, 0x00800080);
    BUTTON_SetFont(hItem, &GUI_Fontsongti16);
    BUTTON_SetText(hItem, "关    机1");
    //GUI_EndDialog(WM_GetDialogItem(pMsg->hWin, ID_BUTTON_3 ), 0);
    //WM_HideWindow(WM_GetDialogItem(pMsg->hWin, ID_BUTTON_3));

    hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_4);
        //TEXT_SetFont(hItem,&GUI_Fontsongti16daisanjiao);
        BUTTON_SetBkColor(hItem, 0, 0x000080FF);
    BUTTON_SetFont(hItem, &GUI_Fontsongti16);
    BUTTON_SetText(hItem, "待    机1");
    //GUI_EndDialog(WM_GetDialogItem(pMsg->hWin, ID_BUTTON_4 ), 0);
    //WM_HideWindow(WM_GetDialogItem(pMsg->hWin, ID_BUTTON_4));


    hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_5);
    BUTTON_SetBkColor(hItem, 0, GUI_GREEN);
    BUTTON_SetFont(hItem, &GUI_Fontsongti16);
    BUTTON_SetText(hItem, "出    光1");
   //GUI_EndDialog(WM_GetDialogItem(pMsg->hWin, ID_BUTTON_5 ), 0);
   //WM_HideWindow(WM_GetDialogItem(pMsg->hWin, ID_BUTTON_5));
       
    hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_3);
        EDIT_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER);
    EDIT_SetText(hItem, "00.0");
        //GUI_EndDialog(WM_GetDialogItem(pMsg->hWin, ID_EDIT_3 ), 0);
        //WM_HideWindow(WM_GetDialogItem(pMsg->hWin, ID_EDIT_3));

    //后加
//////////////////////////////////////////////////////////////////////////////////////////
    hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_0);
    TEXT_SetBkColor(hItem, 0xFF00FF00);
    TEXT_SetFont(hItem,&GUI_Fontsongti16);
    TEXT_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER);
    TEXT_SetText(hItem, "激 光 器 电 动 控 制 系 统1");
        WM_HideWindow(WM_GetDialogItem(pMsg->hWin, ID_TEXT_0 ));
    //
    // Initialization of 'Text'
    //
    hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_1);
    TEXT_SetFont(hItem,&GUI_Fontsongti16);
    TEXT_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER);
    TEXT_SetBkColor(hItem,GUI_BLUE);
    TEXT_SetText(hItem, "晶 体 温 度1");
        WM_HideWindow(WM_GetDialogItem(pMsg->hWin, ID_TEXT_1 ));
    //
    // Initialization of 'Text'
    //
    hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_2);
    TEXT_SetFont(hItem,&GUI_Fontsongti16);
    TEXT_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER);
    TEXT_SetBkColor(hItem,GUI_BLUE);
    TEXT_SetText(hItem, "气 体 压 力1");
        WM_HideWindow(WM_GetDialogItem(pMsg->hWin, ID_TEXT_2 ));
    //
    // Initialization of 'Text'
    //
    hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_3);
    TEXT_SetFont(hItem,&GUI_Fontsongti16);
    TEXT_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER);
    TEXT_SetBkColor(hItem,GUI_BLUE);
    TEXT_SetText(hItem, "冷却水流量1");
        WM_HideWindow(WM_GetDialogItem(pMsg->hWin, ID_TEXT_3));
       
        hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_4);
        TEXT_SetFont(hItem, GUI_FONT_13HB_ASCII);
    TEXT_SetText(hItem, "C");
        WM_HideWindow(WM_GetDialogItem(pMsg->hWin,ID_TEXT_4 ));
       
        hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_5);
        TEXT_SetFont(hItem, GUI_FONT_13HB_ASCII);
    TEXT_SetText(hItem, "Mp");
        WM_HideWindow(WM_GetDialogItem(pMsg->hWin, ID_TEXT_5 ));
       
        hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_6);
        TEXT_SetFont(hItem, GUI_FONT_13HB_ASCII);
    TEXT_SetText(hItem, "L/H");
        WM_HideWindow(WM_GetDialogItem(pMsg->hWin, ID_TEXT_6 ));
       
        hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_7);
    TEXT_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER);
        TEXT_SetFont(hItem,&GUI_Fontsongti16);
        TEXT_SetBkColor(hItem,GUI_BLUE);
    TEXT_SetText(hItem, "系统状态提示1");
        WM_HideWindow(WM_GetDialogItem(pMsg->hWin, ID_TEXT_7 ));
    // USER START (Optionally insert additional code for further widget initialization)
    // USER END
       
    // Initialization of 'Button'
    //
    hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_0);
    BUTTON_SetFont(hItem, &GUI_Fontsongti16daisanjiao);
    BUTTON_SetText(hItem, "▲1");
    WM_HideWindow(WM_GetDialogItem(pMsg->hWin, ID_BUTTON_0 ));
            // Initialization of 'Edit'
    //
    hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_0);
    EDIT_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER);
    EDIT_SetText(hItem, "00.0");
        WM_HideWindow(WM_GetDialogItem(pMsg->hWin, ID_EDIT_0 ));
    //
    // Initialization of 'Edit'
    //
    hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_1);
    EDIT_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER);
       
         
//    adc_data=Get_Adc(ADC_Channel_5);


   // sprintf(str, "%hu", adc_data); //将整数转换为字符串格式
    //EDIT_SetText(hItem, str);
        EDIT_SetText(hItem, "00.0");
        WM_HideWindow(WM_GetDialogItem(pMsg->hWin, ID_EDIT_1 ));
    //
    // Initialization of 'Edit'
    //
    hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_2);
    EDIT_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER);
    EDIT_SetText(hItem, "00.0");
        WM_HideWindow(WM_GetDialogItem(pMsg->hWin, ID_EDIT_2 ));
         break;

       
  case WM_NOTIFY_PARENT:
    Id    = WM_GetId(pMsg->hWinSrc);
    NCode = pMsg->Data.v;
    switch(Id) {
    case ID_BUTTON_0: // Notifications sent by 'Button'
      switch(NCode) {
      case WM_NOTIFICATION_CLICKED:
        break;
      case WM_NOTIFICATION_RELEASED:
          WM_ShowWindow(WM_GetDialogItem(pMsg->hWin, ID_TEXT_9));
          WM_ShowWindow(WM_GetDialogItem(pMsg->hWin, ID_BUTTON_1));
          WM_ShowWindow(WM_GetDialogItem(pMsg->hWin, ID_EDIT_3));
          WM_ShowWindow(WM_GetDialogItem(pMsg->hWin, ID_BUTTON_2));
          WM_ShowWindow(WM_GetDialogItem(pMsg->hWin, ID_TEXT_10));
          WM_ShowWindow(WM_GetDialogItem(pMsg->hWin, ID_TEXT_11));
          WM_ShowWindow(WM_GetDialogItem(pMsg->hWin, ID_BUTTON_3));
          WM_ShowWindow(WM_GetDialogItem(pMsg->hWin, ID_BUTTON_4));
          WM_ShowWindow(WM_GetDialogItem(pMsg->hWin, ID_BUTTON_5));
          WM_ShowWindow(WM_GetDialogItem(pMsg->hWin, ID_TEXT_12));          
                 
          WM_HideWindow(WM_GetDialogItem(pMsg->hWin, ID_BUTTON_0));
          WM_HideWindow(WM_GetDialogItem(pMsg->hWin, ID_EDIT_2));
          WM_HideWindow(WM_GetDialogItem(pMsg->hWin, ID_EDIT_1));
          WM_HideWindow(WM_GetDialogItem(pMsg->hWin, ID_EDIT_0));
          WM_HideWindow(WM_GetDialogItem(pMsg->hWin, ID_TEXT_7));
          WM_HideWindow(WM_GetDialogItem(pMsg->hWin, ID_TEXT_6));
          WM_HideWindow(WM_GetDialogItem(pMsg->hWin, ID_TEXT_5));
          WM_HideWindow(WM_GetDialogItem(pMsg->hWin, ID_TEXT_4));
          WM_HideWindow(WM_GetDialogItem(pMsg->hWin, ID_TEXT_3));
          WM_HideWindow(WM_GetDialogItem(pMsg->hWin, ID_TEXT_2));
          WM_HideWindow(WM_GetDialogItem(pMsg->hWin, ID_TEXT_1));
          WM_HideWindow(WM_GetDialogItem(pMsg->hWin, ID_TEXT_0));
        break;
      }
      break;
    case ID_BUTTON_1: // Notifications sent by 'Button'
      switch(NCode) {
      case WM_NOTIFICATION_CLICKED:
        break;
      case WM_NOTIFICATION_RELEASED:
                  
          WM_HideWindow(WM_GetDialogItem(pMsg->hWin, ID_TEXT_9));
          WM_HideWindow(WM_GetDialogItem(pMsg->hWin, ID_BUTTON_1));
          WM_HideWindow(WM_GetDialogItem(pMsg->hWin, ID_EDIT_3));
          WM_HideWindow(WM_GetDialogItem(pMsg->hWin, ID_BUTTON_2));
          WM_HideWindow(WM_GetDialogItem(pMsg->hWin, ID_TEXT_10));
          WM_HideWindow(WM_GetDialogItem(pMsg->hWin, ID_TEXT_11));
          WM_HideWindow(WM_GetDialogItem(pMsg->hWin, ID_BUTTON_3));
          WM_HideWindow(WM_GetDialogItem(pMsg->hWin, ID_BUTTON_4));
          WM_HideWindow(WM_GetDialogItem(pMsg->hWin, ID_BUTTON_5));
          WM_HideWindow(WM_GetDialogItem(pMsg->hWin, ID_TEXT_12));          
                 
          WM_ShowWindow(WM_GetDialogItem(pMsg->hWin, ID_BUTTON_0));
          WM_ShowWindow(WM_GetDialogItem(pMsg->hWin, ID_EDIT_2));
          WM_ShowWindow(WM_GetDialogItem(pMsg->hWin, ID_EDIT_1));
          WM_ShowWindow(WM_GetDialogItem(pMsg->hWin, ID_EDIT_0));
          WM_ShowWindow(WM_GetDialogItem(pMsg->hWin, ID_TEXT_7));
          WM_ShowWindow(WM_GetDialogItem(pMsg->hWin, ID_TEXT_6));
          WM_ShowWindow(WM_GetDialogItem(pMsg->hWin, ID_TEXT_5));
          WM_ShowWindow(WM_GetDialogItem(pMsg->hWin, ID_TEXT_4));
          WM_ShowWindow(WM_GetDialogItem(pMsg->hWin, ID_TEXT_3));
          WM_ShowWindow(WM_GetDialogItem(pMsg->hWin, ID_TEXT_2));
          WM_ShowWindow(WM_GetDialogItem(pMsg->hWin, ID_TEXT_1));
          WM_ShowWindow(WM_GetDialogItem(pMsg->hWin, ID_TEXT_0));
        break;
      }
      break;
    case ID_BUTTON_2: // Notifications sent by 'Button'
      switch(NCode) {
      case WM_NOTIFICATION_CLICKED:
          
        break;
      case WM_NOTIFICATION_RELEASED:
        break;
      }
      break;
    case ID_BUTTON_3: // Notifications sent by 'Button'
      switch(NCode) {
      case WM_NOTIFICATION_CLICKED:
        break;
      case WM_NOTIFICATION_RELEASED:
        break;
      }
      break;
    case ID_BUTTON_4: // Notifications sent by 'Button'
      switch(NCode) {
      case WM_NOTIFICATION_CLICKED:
        break;
      case WM_NOTIFICATION_RELEASED:
        break;
      }
      break;
    case ID_EDIT_0: // 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_5: // Notifications sent by 'Button'
      switch(NCode) {
      case WM_NOTIFICATION_CLICKED:
        break;
      case WM_NOTIFICATION_RELEASED:
        break;
      }
      break;
    case ID_EDIT_1: // Notifications sent by 'Edit'
      switch(NCode) {
      case WM_NOTIFICATION_CLICKED:
                          ceshi++;
        hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_2);
    EDIT_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER);
        sprintf(str, "%d", ceshi); //将整数转换为字符串格式
    EDIT_SetText(hItem, str);
        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:
        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;

    }
    break;

  default:
    WM_DefaultProc(pMsg);
    break;
  }
}

/*********************************************************************
*
*       Public code
*
**********************************************************************
*/
/*********************************************************************
*
*       CreateWindow
*/
WM_HWIN CreateWindow3(void);
WM_HWIN CreateWindow3(void) {
  WM_HWIN hWin;
         

       
  hWin = GUI_CreateDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), _cbDialog, WM_HBKWIN, 0, 0);

  return hWin;
       
}
WM_HTIMER CreateT(void);
WM_HTIMER CreateT(void){
        WM_HTIMER  hTimer;
hTimer =  WM_CreateTimer(WM_GetClientWindow(CreateWindow3()), 0 , 1000, 0);
return hTimer;
}
       
       
void MainTask1(void)
{
       
        CreateWindow3();
       

        while (1)
        {
                WM_SendMessageNoPara(WM_GetClientWindow(CreateWindow3()),WM_NOTIFICATION_CLICKED);
                GUI_Delay(500);
       
}
        }

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

/*************************** End of file ****************************/

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106913
QQ
发表于 2023-7-5 12:08:26 | 显示全部楼层

回帖奖励 +1 个金币

获取EDIT句柄,就地更新。
回复

使用道具 举报

1

主题

1

回帖

4

积分

新手上路

积分
4
 楼主| 发表于 2023-7-5 13:23:55 | 显示全部楼层
硬汉哥的教程里有类似动态更新的内容嘛?想找个例子学习一下。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106913
QQ
发表于 2023-7-6 09:41:49 | 显示全部楼层
这个例子里面的视频播放器,音频播放器的进度条,时间更新等跟你楼主位的思路一样
https://www.armbbs.cn/forum.php?mod=viewthread&tid=17330
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-9 19:57 , Processed in 0.158708 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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