掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ダイアログクラスの継承 (ID:59074)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
回答ありがとうございます。 >class CDlgA : public CDialog >{ > afx_msg void OnYes();//適用ボタン押下時処理(自動生成コード) > virtual void do_OnYes(); >} > >void CDlgA::OnYes() { do_OnYes(); } > >class CDlgB : public CDlgA >{ > virtual void do_OnYes(); >}; >…これでいかがでしょうか(自信なし) 試してみました。 うまく動作しました。 多少コードが煩わしくなるようですが、 個人的には、これでいいのかと思いますが、 このような方法は一般的なのでしょうか? 同じようなダイアログを3つ程度つくることになる場合、 1つのリソースを共有させたいのですが。 現状、リソースに対してクラスを1つ作り、 OnYes()の処理の中で、switch文で3つの処理を分岐 しているのですがコードが煩わしくなるので避けたいのです。 OnYes()の処理だけならともかく、OnInitDialog()関数や、 ダイアログに配置したボタンの処理等、全てswitch文で分岐 しています。 >メッセージマップマクロを追加するのを忘れている、 >というオチではないですよね? すみません、メッセージマップマクロとは何でしょうか? >派生元の関数を呼ぶのであれば、CDlgAの仮想関数をCDlgB::OnYes()の中で >呼び出し、そしてCDlgBに仮想関数の実装をする... επιστημηさんと同じ内容の意でしょうか? 理解力がなくてもうしわけないです。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.