モーダルダイアログに値を渡す。 – プログラミング – Home

モーダルダイアログに値を渡す。
 
通知
すべてクリア

[解決済] モーダルダイアログに値を渡す。


ccgrape
 ccgrape
(@ccgrape)
ゲスト
結合: 20年前
投稿: 2
Topic starter  

VC++6.0なのですが、
ダイアログA(モードレス)上のボタンクリックをトリガーに
ダイアログB(モーダル)を表示しています。
その時に、ダイアログA上のエディットボックスの値を加工し、
ダイアログBに渡したいのですが、
みなさん、どんな方法を使ってらっしゃいますか?
ご経験ある方いらっしゃいましたら
教えていただけますでしょうか。
よろしくお願いします。


引用未解決
トピックタグ
KING・王
 KING・王
(@KING・王)
ゲスト
結合: 20年前
投稿: 122
 

最適かどうかはわかりませんが、私は次のような方法で実装したことがあります。

(1)CxxxAppクラスにメンバ変数Cを追加する。
(2)ダイアログAで、AfxGetApp()を用いてCxxxAppオブジェクトへのポインタを取得する。
(3)取得したCxxxAppオブジェクトを用いて、メンバCに値を設定する。
(4)ダイアログBで、AfxGetApp()を用いてCxxxAppオブジェクトへのポインタを取得する。
(5)取得したCxxxAppオブジェクトを用いて、メンバCの値を取得する。

MFCのダイアログベースのアプリで用いた手法です。
メンバへのアクセスなどに関しては、適宜、アクセス用のメンバ関数を用意するなり、
メンバ変数をpublicにするなりして下さい。


返信引用
123
 123
(@123)
ゲスト
結合: 22年前
投稿: 9
 

DoModal()の前に、DialogBへ値を渡すだけじゃないの

void CDialogA::On**()
{
UpdateData(TRUE);
dataNew = データ加工;
CDialogB dlgB;
digB.
* = dataNew;
dlgB.Domodal();
}


返信引用
PATIO
(@patio)
Famed Member
結合: 3年前
投稿: 2660
 

ダイアログAとダイアログBの関係が書かれていないので
なんとも言いかねますね。
ダイアログAがダイアログBを直接出しているのであれば、
123さんの書かれている通りだろうし、
KING・王さんのやり方ならダイアログAが設定さえしていれば、
ダイアログBが何処から表示されても出せるでしょう。
ウインドウ間でデータの受け渡しをしたい時には、
受け渡しをするウインドウ間の関係が大きくかかわってくるので
必ず説明する必要があります。
ご注意を。


返信引用
ccgrape
 ccgrape
(@ccgrape)
ゲスト
結合: 20年前
投稿: 2
Topic starter  

KING・王さん、123さん、PATIOさん
ご返答いただきありがとうございます.

単純に、DialogAからDialogBを直接出していますので、
123さんの書かれている通りでOKでした。

質問の仕方が悪く申し訳ございませんでした.

皆様本当にありがとうございました.


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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