簡體   English   中英

在資源文件中使用宏

[英]Using macros in resource files

我想在我的.rc文件中使用#define字符串。 例如,假設我已將.h文件包含在.rc文件中:

#if defined(RED_BUILD)
  #define CAPTION_TEXT "Red Window"
  #define PROMPT_TEXT "Red Prompt"
#else
  #define CAPTION_TEXT "Blue Window"
  #define PROMPT_TEXT "Blue Prompt"
#endif

在我的.rc文件中,說我有對話框:

IDD_Dialog DIALOG 0, 0, 286, 258
STYLE WS_POPUP | WS_CAPTION
CAPTION "First " CAPTION_TEXT " Dialog"
BEGIN
  LTEXT "First " PROMPT_TEXT, -1, 4, 80, 120, 8
  LTEXT "Second " PROMPT_TEXT, -1, 4, 90, 120, 8
END

但是,資源編譯器不喜歡這樣,給出了“對話框中需要BEGIN”。 有什么辦法可以促使預編譯器處理此問題?

我當前的解決方法是在.rc文件中#if defined(RED_BUILD)起作用,但並不理想,因為我需要更改數百條提示。

最好的方法是維護不同的資源文件並進行編譯,而不是處理一個大的“ ifdef`d”資源文件中的所有內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM