硬汉嵌入式论坛

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

[emWin] emwin中的宏定义问题

[复制链接]

16

主题

31

回帖

79

积分

初级会员

积分
79
发表于 2019-10-10 14:55:18 | 显示全部楼层 |阅读模式
类似“#define ID_TEXT_0          (GUI_ID_USER + 0x03)”是为了程序上方便,emwin在不同的页面(不同.c)文件中,如果都出现对 ID_TEXT_0的定义,是否会混乱?比如aaa.c中为  #define ID_TEXT_0          (GUI_ID_USER + 0x03)
      bbb.c中是#define ID_TEXT_0          (GUI_ID_USER + 0x00)

忽然有这个顾虑,望大家解答一下。
回复

使用道具 举报

9

主题

140

回帖

187

积分

初级会员

积分
187
QQ
发表于 2019-10-10 17:21:10 | 显示全部楼层
同一个窗口内,里面的ID不能一样,不同的窗口之间,可以存在相同的ID号,我的做法是做一个公共UI头文件,用枚举做ID,这样比较清晰,如下,可参考
  1. typedef enum GUI_ID
  2. {
  3.     ID_TEXT_CH1_T = GUI_ID_USER,
  4.         ID_TEXT_CH2_T,
  5.         ID_TEXT_CH3_T,
  6.         ID_TEXT_CH4_T,
  7.         ID_TEXT_CH5_T,
  8.         ID_TEXT_CH6_T,
  9.         ID_TEXT_CH7_T,
  10.         ID_TEXT_CH8_T,
  11.         ID_TEXT_CH9_T,
  12.         ID_TEXT_CH10_T,
  13.         ID_TEXT_CH11_T,
  14.         ID_TEXT_CH12_T,
  15.         ID_TEXT_CH13_T,
  16.         ID_TEXT_CH14_T,
  17.         ID_TEXT_CH15_T,
  18.         ID_TEXT_CH16_T,

  19.         ID_TEXT_TIME_1,
  20.         ID_TEXT_TIME_2,
  21.         ID_TEXT_TIME_3,
  22.         ID_TEXT_TIME_4,
  23.         ID_TEXT_TIME_5,
  24.         ID_TEXT_TIME_6,
  25.         ID_TEXT_TIME_7,
  26.         ID_TEXT_TIME_8,
  27.         ID_TEXT_TIME_9,
  28.         ID_TEXT_TIME_10,
  29.         ID_TEXT_TIME_11,
  30.         ID_TEXT_TIME_12,
  31.         ID_TEXT_TIME_13,
  32.         ID_TEXT_TIME_14,
  33.         ID_TEXT_TIME_15,
  34.         ID_TEXT_TIME_16,
  35.        
  36.         ID_BUTTON_CH1_V,
  37.         ID_BUTTON_CH2_V,
  38.         ID_BUTTON_CH3_V,
  39.         ID_BUTTON_CH4_V,
  40.         ID_BUTTON_CH5_V,
  41.         ID_BUTTON_CH6_V,
  42.         ID_BUTTON_CH7_V,
  43.         ID_BUTTON_CH8_V,
  44.         ID_BUTTON_CH9_V,
  45.         ID_BUTTON_CH10_V,
  46.         ID_BUTTON_CH11_V,
  47.         ID_BUTTON_CH12_V,
  48.         ID_BUTTON_CH13_V,
  49.         ID_BUTTON_CH14_V,
  50.         ID_BUTTON_CH15_V,
  51.         ID_BUTTON_CH16_V,

  52.         ID_TEXT_PHY_ID,
  53.         ID_TEXT_Voltage,
  54.         ID_TEXT_Volidx,
  55.         ID_TEXT_ENG,
  56.         ID_TEXT_SSS,
  57.         ID_TEXT_Ver,
  58.         ID_TEXT_Sigv,
  59.         ID_TEXT_CD,
  60.         ID_TEXT_Key,
  61.         ID_TEXT_Msg,
  62.         ID_TEXT_Title,
  63.         ID_TEXT_Value,
  64.         ID_TEXT_MAXP,
  65.         ID_TEXT_PLV,
  66.         ID_TEXT_RATE,
  67.         ID_TEXT_Start_CH,
  68.         ID_TEXT_Refund,
  69.         ID_TEXT_DecMoney,
  70.         ID_TEXT_CH_Time,
  71.         ID_TEXT_Remain,
  72.         ID_TEXT_YuanContinue,
  73.         ID_TEXT_DateTime,
  74.         ID_TEXT_Uid,
  75.         ID_TEXT_Soft_Type,
  76.         ID_TEXT_Tem,

  77.         ID_LV_Record,

  78.         ID_TEXT_YY,
  79.         ID_TEXT_MM,
  80.         ID_TEXT_DD,
  81.         ID_TEXT_HH,
  82.         ID_TEXT_FF,

  83.         ID_TEXT_NIAN,
  84.         ID_TEXT_YUE,
  85.         ID_TEXT_RI,
  86.         ID_TEXT_SHI,
  87.         ID_TEXT_FEN,

  88.         ID_TIMER_Main,
  89.         ID_TIMER_QR,
  90.         ID_TIMER_K,

  91.         ID_IMAGE_Sig,
  92.         ID_IMAGE_Lock,
  93. }GUI_ID_e;
复制代码


回复

使用道具 举报

16

主题

31

回帖

79

积分

初级会员

积分
79
 楼主| 发表于 2019-10-11 08:59:07 | 显示全部楼层
allyzc 发表于 2019-10-10 17:21
同一个窗口内,里面的ID不能一样,不同的窗口之间,可以存在相同的ID号,我的做法是做一个公共UI头文件,用 ...

多谢提示,这样就没有重复的了
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-18 20:23 , Processed in 0.038659 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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