【发布时间】:2018-04-13 07:15:26
【问题描述】:
我有这个定义:
using ToolTipMap = std::map<UINT, UINT>;
using ToolTipPair = std::pair<UINT, UINT>;
我是这样使用的:
ToolTipMap mapToolTips;
mapToolTips.insert(ToolTipPair(IDC_COMBO_WATCHTOWER_DAY, IDS_COMBO_WATCHTOWER_DAY));
mapToolTips.insert(ToolTipPair(IDC_COMBO_SCHOOL_DAY, IDS_COMBO_SCHOOL_DAY));
mapToolTips.insert(ToolTipPair(IDC_EDIT_DATE_FORMAT, IDS_EDIT_DATE_FORMAT));
mapToolTips.insert(ToolTipPair(IDC_CHECK_USE_CUSTOM_DATE, IDS_CHECK_USE_CUSTOM_DATE));
mapToolTips.insert(ToolTipPair(IDC_CHECK_PLATFORM, IDS_CHECK_PLATFORM));
mapToolTips.insert(ToolTipPair(IDC_CHECK_PLATFORM_MIKE, IDS_CHECK_PLATFORM_MIKE));
mapToolTips.insert(ToolTipPair(IDC_COMBO_NUM_MIKE_USERS, IDS_COMBO_NUM_MIKE_USERS));
mapToolTips.insert(ToolTipPair(IDC_COMBO_NUM_SOUND_USERS, IDS_COMBO_NUM_SOUND_USERS));
mapToolTips.insert(ToolTipPair(IDC_COMBO_NUM_ATTEND, IDS_COMBO_NUM_ATTEND));
mapToolTips.insert(ToolTipPair(IDC_BUTTON_HELP, IDS_BUTTON_HELP));
mapToolTips.insert(ToolTipPair(IDC_COMBO_REPORT_MODE, IDS_COMBO_REPORT_MODE));
mapToolTips.insert(ToolTipPair(IDC_COMBO_WEEKLY_DAY, IDS_COMBO_WEEKLY_DAY));
如何简化这一点:
IDC_COMBO_WATCHTOWER_DAY, IDS_COMBO_WATCHTOWER_DAY
所以我只是指定:
COMBO_WATCHTOWER_DAY
并用宏扩展为两者?
我明白了:
-
#将参数转换为文本字符串 -
##结合了两个参数
所以:
TOOLTIP(a) _T(“IDC_”)#a _T(“IDS_”)#a
【问题讨论】: