2

Windows C++ アプリケーションの情報ボックスを作成しようとしています。Visual Studio 2008 では、ダイアログ エディターを使用してダイアログをデザインしています。[バージョン情報] ボックスに、アプリケーションのバージョンを静的なラベルで表示したいと考えています。

バージョンをダイアログにハードコードして.rcファイルに保存することはできますが、その場合、複数の場所でバージョンを更新することを覚えておく必要があります。

私のアプリケーションのバージョンは#defined in version.hasAPPLICATION_VERSIONです。リソース編集者は、

#include "version.h"

ファイルの先頭にあるので、シンボル.rcにアクセスできます。APPLICATION_VERSION

ただし、ダイアログ エディターからこのシンボルを使用することはできません。.rcハードコードされたバージョン文字列をシンボルに置き換えて、手動でファイルを編集できますAPPLICATION_VERSION。ダイアログエディターでダイアログを再度編集するまで、これは正常に機能します。ダイアログエディターから保存する.rcと、シンボルは現在の値で上書きされます。

もちろん、バージョン ラベルをダミー テキストに設定して、受信時にそのテキストを上書きすることもできますWM_INITDIALOGが、それは非常に扱いにくく、不必要に感じます。アプリケーションのバージョンを 1 か所に保持できる他の回避策はありますか?

4

1 に答える 1

0

私がこれを行う方法は、リソースを.rc2拡張子付きの別のファイルに入れ、#includeそれを.rcファイルに入れることです(あなたがあなたの でやっているようにversion.h)。次に.rc2、Visual Studio リソース エディターではなく、通常のテキスト エディターでファイルを編集します。

そのシステムは、私が使用しているため、リソースに関してはそれほど悪くはありませんがVERSIONINFO、ダイアログ リソースにとってはより苦痛になることがわかります。もっと良い方法を知りたいのですが、私はそれを知りません。

于 2009-08-30T16:17:36.523 に答える