2012-04-27 27 views
1

VC++/MFCダイアログベースのプロジェクトがあります。 これらのダイアログでは、「移動前に通知する」スライダを使用しています。 VSダイアログウィザードを使用して編集する代わりに、関連する.rcファイルをテキストエディタで手動で編集することをお勧めします。rcファイルを編集してVC Dialog Wizardで開くと、TBS_NOTIFYBEFOREMOVEのためRC2104エラーが発生する

問題は、私は再びVSウィザードでダイアログを開くしようとしているとき、.rcファイルを編集した後、私はこのエラーを取得するには、次のとおりです。 「エラーRC2104:未定義のキーワードまたはキー名:TBS_NOTIFYBEFOREMOVE」 私ができますプロジェクトは正常にコンパイルされますが、VSウィザードでプロジェクトリソースを開くことはできません。 回避策は、手動キーワードを削除することで、その後、

私は理由を理解していない...私は、ウィザードでリソースを再度開くことができますが、私は再び真に設定する「移動する前に通知し、」すべてのスライダーを設定する必要がありますプロジェクトがまだコンパイルされているにもかかわらず、このエラーが発生します。可能であれば、私はエラーを回避し、毎回この回避策を実行する必要があります。誰もこのエラーを回避する方法を知っていますか?

答えて

1

これは、選択した_WIN32_WINNTマクロの値のために発生します。 TBS_NOTIFYBEFOREMOVEスタイルフラグは、それ以降のバージョンのWindowsでのみ使用できます。少なくとも0x501を選択する必要があります。つまり、プログラムをWindows 2000(バージョン0x500)以前で実行することはできません。これはあまり問題ではないので、価値を高める。

+0

_WIN32_WINNTを0x501に定義すると、Vista +用のすべてのAPIを使用できなくなります。しかし0x600に置くと、いくつかのWinXP APIが無効になっているかのように、他のコンパイルエラーが発生します... WinXPで動作する必要があるプロジェクトがあります+ – OOEngineer

+0

ここから画面が表示されません。 "その他のコンパイルエラー"は意味することができます。 –

+0

私は0x601にそれを定義しようとしました。私はいくつかのWin7 + APIだけを使っているようです。それは動作しますが、私は前と同じ状況に戻ってきます...回避策を使用する必要があります。 – OOEngineer

0

私はResource.hをして

#include <windows.h> 

を追加し、それを解決!

関連する問題