オブジェクトIDが表示されない・・・

[戻る]
初心者たち [E-Mail] 2005/05/13(金) 10:50:06
WinXP SP2 MFC VC++6.0

再び質問します。よろしくお願いいたします。

最初にダイアログベースで作り始めたときに、画面に何個かボタンをつけました。

ClassWizardを開くと、当然ボタン数に合わせて数個のダイアログIDが表示されると思う
のですが、たまに表示されないことがあります。

なぜそのような現象が起こるのか教えていただけますか?

REE 2005/05/13(金) 13:20:51
ClassWizardのどのタブですか?
具体的にどのボタンの場合に表示されませんか?

この点を明確にして質問しましょう。

例えば、ラジオボタンをグループ化していると、
変数タブではグループ最初のIDしか表示されません。
# コントロール変数で関連付ける時に不便だったり・・

初心者たち 2005/05/13(金) 13:30:26
REEさん、返信ありがとうございます。

すみません、説明不足でした。

ClassWizardのメッセージマップを開いたとき
プロジェクト名をB_Addressとします。OKボタンを1つ追加すると、メッセージマップの
オブジェクトIDの部分に、OKボタンのIDが表示されますよね?(仮にIDOKとする)

例えば、さらにキャンセルボタンを追加し、IDCANCELが表示されるはずですよね?

そのIDOK、IDCANCELが表示されず、オブジェクトIDに表示されるのはCB_AddressDlgだけ
しか表示されないのです。

WIZ [E-Mail] 2005/05/14(土) 08:35:40
ClassWizard ファイル(.clw ファイル)が壊れているのかも知れません。
(1) プロジェクト内の .clw ファイルを別ディレクトリへ退避(バックアップ)する。
(2) プロジェクト内の .clw ファイルを削除する。
(3) VC6 でプロジェクトを開き、ClassWizard を起動する。すると ClassWizard
  ファイルが無いから再構築するかと聞いてくるので、プロジェクト内の全ファイルを
  追加して再構築する。
(4) IDが表示されないという現象が解決したか確認する。
(5) もし可決しない場合、ClassWizard ファイルの問題ではないので、再構築した
 ClassWizard ファイルした ClassWizard ファイルを削除し、退避しておいた
  ClassWizard ファイルを戻す。

WIZ [E-Mail] 2005/05/14(土) 08:38:37
激しくおかしい日本語でした。

> (5) もし可決しない場合、ClassWizard ファイルの問題ではないので、再構築した
>  ClassWizard ファイルした ClassWizard ファイルを削除し、退避しておいた
>   ClassWizard ファイルを戻す。

(5) もし解決しない場合、ClassWizard ファイルの問題ではないので、再構築した
 ClassWizard ファイルを削除し、退避しておいた ClassWizard ファイルに戻す。

初心者たち 2005/05/16(月) 08:42:24
WIZさん、返信ありがとうございます。

ちょっと確認してみます!

追加質問ですが、途中でファイル名を変更した場合、同様の「オブジェクトIDが表示さ
れない」状態になるのでしょうか?

WIZ [E-Mail] 2005/05/16(月) 13:14:52
> 追加質問ですが、途中でファイル名を変更した場合、同様の「オブジェクトIDが表示さ
> れない」状態になるのでしょうか?

可能性はあります。ソースと ClassWizard ファイルが不整合となっている場合。
VC6 ではプロジェクトのクリーンとかリビルドをしても ClassWizard ファイルの
削除・再構築はされないので、手作業で行う必要があります。

初心者たち 2005/05/16(月) 13:33:40
[[解決]]
WIZさん、返信ありがとうございました。

私がこの現象が起きた場合は大概消去して新しく作り始めていたので、確信は持てませ
んが、恐らく名前を変えていたのでしょう・・・

現在作っているのは、名前を変えずに作成したので、うまくいってると思います。

もしまたこのような現象が起こって、なおかつ名前を変更していなかった場合は、WIZさ
んの教えてくださった「ファイルが壊れているかもしれない」という視点から原因を探
っていこうと思います。

ありがとうございました!

古いスレッドには追加発言できません。