2009-08-30 13 views
2

私はWindows C++アプリケーションのAboutボックスを作成しようとしています。 Visual Studio 2008では、ダイアログエディタを使用してダイアログを設計しています。バージョン情報ボックスにアプリケーションのバージョンを静的ラベルで表示するようにします。Visual Studioのダイアログリソーススクリプトで定義済みの値を使用していますか?

バージョンを.rcファイルに保存されたダイアログにハードコードできますが、バージョンを複数の場所で更新する必要があります。

#define dはversion.hで、APPLICATION_VERSIONです。リソースエディタは.rcファイルの先頭に

#include "version.h" 

を置くことを確信したので、私はAPPLICATION_VERSIONシンボルにアクセスすることができます。

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

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

答えて

0

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

私が使っているのは、VERSIONINFOリソースではあまりにも悪いシステムではありませんが、それはダイアログリソースにとってもっと痛いものです。私はより良い方法を聞いてみたいが、私はそれを知らない。

+0

私のVERSIONINFOリソースにも同じ問題があります。しかし、実際に手で編集するのは簡単です。リソースエディタに手を触れない限り、うまくいきます。 – Thomas

関連する問題