モードレスプロパティシートにボタンを追加する – プログラミング – Home

モードレスプロパティシートにボタンを追...
 
通知
すべてクリア

モードレスプロパティシートにボタンを追加する


和也
 和也
(@和也)
ゲスト
結合: 22年前
投稿: 4
Topic starter  

Visual Studio 6.0
Windows XPを用いています

http://www.hi-ho.ne.jp/hawk/mfc0401.html#control_prp_le

上記を参考にモードレスのプロパティーシートを作成しています。
でうが、適応ボタンとOK,キャンセルボタンがなくなってしまいました。

適応ボタンや、OK,キャンセル、を付け加えるには
どうすればよいのでしょうか?

ご教授よろしくお願いします。


引用解決済
トピックタグ
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

極小の自作モードレスダイアログを作り、
そのダイアログの上にモーダルプロパティシートを表示してみては
いかがでしょう。


返信引用
TAD
 TAD
(@TAD)
ゲスト
結合: 23年前
投稿: 54
 

下記のサイトで同じような質問に私が回答したものがあります。
参考にしてみてください。

http://forums.belution.com/ja/vc/000/054/49s.shtml


返信引用
和也
 和也
(@和也)
ゲスト
結合: 22年前
投稿: 4
Topic starter  

ご回答ありがとうございます。

TADさんのやり方でうまくいきました。ありがとうございました。

このやり方でうまくいったのですが、OnAplly()をオーバーライドたんですが、
プロパティシートが消えません。

DestroyWindow()をしてもうまくいきません。
よろしくお願いします。


返信引用
TAD
 TAD
(@TAD)
ゲスト
結合: 23年前
投稿: 54
 

OnApply()をオーバーライドしたということは、CPropertyPageクラス上ですよね。
プロパティページの親ウィンドウがプロパティシートになっていますので、
GetParent()->DestroyWindow();
で、プロパティシートを消せると思います。


返信引用
和也
 和也
(@和也)
ゲスト
結合: 22年前
投稿: 4
Topic starter  

>OnApply()をオーバーライドしたということは、CPropertyPageクラス上ですよね。
>プロパティページの親ウィンドウがプロパティシートになっていますので、
>GetParent()->DestroyWindow();
>で、プロパティシートを消せると思います。

OnApplyまたはOnOKをオーバーライドしたんですが、メッセージが送られてきていないよ
うです。

なぜでしょうか?ご教授お願いします。


返信引用
和也
 和也
(@和也)
ゲスト
結合: 22年前
投稿: 4
Topic starter  

追記:

CPropertyPageにOnApplyまたはOnOKをオーバーライドしたんですが
どうしてでしょうか?


返信引用
TAD
 TAD
(@TAD)
ゲスト
結合: 23年前
投稿: 54
 

こちらでもやってみたのですが、OnApply は問題なく呼び出されました。

本当に OnApply、OnOK は呼び出されませんか?
ブレークポイントを置いて確認してみてください。
MFC のソースをインストールしているのでしたら、
CPropertyPage::OnApply にもブレークポイントを置いてみてください。

また、OnSetActive など、その他の仮想関数なども呼び出されるか確認してみてください。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました