我正在尝试为我的Windows C ++应用程序创建一个“关于”框。在Visual Studio 2008中,我使用对话框编辑器来设计对话框。我希望“关于”框能够以静态标签显示应用程序的版本。
我可以将版本硬编码到对话框中,存储在.rc
文件中,但是我必须记住在多个位置更新版本。
我的应用程序版本为#define
,version.h
为APPLICATION_VERSION
。可以说服资源编辑器放
#include "version.h"
位于.rc
文件的顶部,因此我可以访问APPLICATION_VERSION
符号。
但是,我不能在对话框编辑器中使用此符号。我可以手动编辑.rc
文件,用符号APPLICATION_VERSION
替换硬编码的版本字符串。这在我再次在对话框编辑器中编辑对话框之前一直正常工作:从对话框编辑器中保存.rc
后,符号将被当前值覆盖。
当然,我可以将版本标签设置为一些虚拟文本,当我收到WM_INITDIALOG
时覆盖该文本,但这种感觉非常笨重且不必要。还有其他解决方法可以让我将应用程序版本保存在一个地方吗?
答案 0 :(得分:0)
我这样做的方法是将资源放在一个带有.rc2
扩展名的单独文件中,将#include
放入.rc
文件中(就像你在使用{ {1}})。然后,我使用普通文本编辑器编辑version.h
文件,而不是Visual Studio资源编辑器。
该系统对于.rc2
资源来说并不算太糟糕,这就是我使用它的资源,但我可以看到它对于对话资源来说会更加痛苦。我很想听到一个更好的方法,但我不知道一个。