【问题标题】:How to remove hardcoded value for _T() in C++如何在 C++ 中删除 _T() 的硬编码值
【发布时间】:2022-11-10 01:46:35
【问题描述】:
CAToolbar* pToolBarCommunicate = (CAToolbar*)pCommandBars->Add(new CAToolbar, _T("Comman Toolbar"), xtpBarTop);

我有这段代码,其中“通用工具栏”是硬编码的,我需要将其更改为 .rc 文件中提到的一些 IDS,我应该直接删除文本并用 .rc 文件中提到的 ID 替换此文本。类似->Add(new CAToolbar, _T(IDS_COMMAN_TOOLBAR), xtpBarTop); 这是正确的做法吗?还是有更好的方法?

【问题讨论】:

  • 您可能必须从资源文件中获取字符串。

标签: c++ visual-c++ mfc


【解决方案1】:

您可以使用MAKEINTRESOURCE

CAToolbar* pToolBarCommunicate = (CAToolbar*)pCommandBars->Add(
                        new CAToolbar, 
                        MAKEINTRESOURCE(IDS_COMMAN_TOOLBAR), 
                        xtpBarTop);

您可以在这里查看更多信息:MAKEINTRESOURCEA macro (winuser.h)

【讨论】:

  • 或者干脆CString str; str.LoadString(IDS_XXX); ..... new CAToolbar, str, ..);
猜你喜欢
  • 2019-08-14
  • 1970-01-01
  • 1970-01-01
  • 2010-09-17
  • 2020-03-27
  • 2018-12-09
  • 2016-02-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多