モーダルダイアログ – 固定ページ 3 – プログラミング – Home

通知
すべてクリア

[解決済] モーダルダイアログ

固定ページ 3 / 3

と
 と
(@と)
ゲスト
結合: 20年前
投稿: 33
 

話がかみ合わないようなので
もういっそのこと、グローバル変数にしてみては?


返信引用
たいちう
 たいちう
(@たいちう)
ゲスト
結合: 23年前
投稿: 662
 

最終的にはコンボボックスの選択からカメラの動作までやりたいとしても、
小さなステップで確実に進みましょう。

このスレッドで質問していることは、
『親ウィンドで子ウィンドで取得した値は使用したい』でしょ?
επιστημηさんが簡潔なサンプルを作ってくれているので、
まずそれを実行してみたらどうですか?

そうすれば、その仕組みを自分のプログラムで使うにはどうすればよいか
考えられると思います。
その上でもし判らない点があれば、その点を改めて質問すればよいでしょう。

# 見よう見まねで飛行機を作りましたが飛びません、
# どこを直したら良いですか?
# ↓
# επιστημη氏>つ 紙飛行機
# PATIO氏、maru氏> 航空力学を勉強しる


返信引用
maru
 maru
(@maru)
ゲスト
結合: 17年前
投稿: 358
 

> # επιστημη氏>つ 紙飛行機
> # PATIO氏、maru氏> 航空力学を勉強しる
いや、だから、私も拙いながら紙飛行機を作って見せたんですがね。
どうも折り方が悪かったようななので、紙の折り方から勉強したら?
って言ってるつもりなんですけど。

# 飛行機を作ろうとしている人に紙の折り方は必要ないか。


返信引用
ヨッピー
 ヨッピー
(@ヨッピー)
ゲスト
結合: 17年前
投稿: 24
Topic starter  

maruさんの方法:
if (dlg.DoModal() == IDOK)
{
 int b =dlg.GetB();
 int c =dlg.GetC();
 int d =dlg.GetD();
 int e =dlg.GetE();
 UpdateData(TRUE);
}
で親ウィンドで値を取得できました。

しかし、子ウィンドを開くスコープと取得した値を使用するスコープが違う場合は
どうしたらよいのでしょうか?

子ウィンドを開く→void CParentDlg::OnCbnSelchangeComboBox1();内
取得した値を使用→void CParentDlg::OnBnClickedRecord();内


返信引用
ヨッピー
 ヨッピー
(@ヨッピー)
ゲスト
結合: 17年前
投稿: 24
Topic starter  

自己レスですいません。

グローバルにすればいいだけでした。
今回、皆様には大変ご迷惑をおかけしました。

申し訳ありませんでした。
質問ばっかりしてしまいましたが、これからしっかり勉強していきたいと思います。

いろいろとありがとうございました。


返信引用
aetos
(@aetos)
Noble Member
結合: 5年前
投稿: 1480
 

> しかし、子ウィンドを開くスコープと取得した値を使用するスコープが違う場合は
> どうしたらよいのでしょうか?

その質問は、モーダルダイアログから値を取得することとまったく関係ないということは
わかりますか?
その答えは、
 PSB 2008/04/17(木) 23:26:59
 と 2008/04/18(金) 01:40:59
のご両名が書いてくださっています。
これらは実践しましたか?
「よくわからない用語があるから読み飛ばした」のでは、いつまでたってもプログラムな
ど作れるようになりませんよ。
内容がわからないのであれば、別の話題ですから別途質問するか(その場合は、新しいス
レに、このスレのURLを書いておきましょう)、または
 maru 2008/04/17(木) 23:27:20
のアドバイスに従うのがよろしいでしょう。

# 時刻を含めたコピペのため敬称略


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

> # επιστημη氏>つ 紙飛行機
> # PATIO氏、maru氏> 航空力学を勉強しる

紙飛行機の中身を知るために必要な内容(C++言語)を勉強しては
と言う話が、航空力学まで行っちゃうと言うのはどうかなぁ。
C++言語に関しては、maruさんが書かれているように紙飛行機の
折り方の話だと思うけれど。

とにかく動くものを作りたいと言うのもわかるんだけど
提示された物のコピペでは応用が利かないし、
間違った覚え方をしてしまうかもしれない。
まあ、それでも作れればいいんだと言う話なら
私もそれ以上は言いませんけれど。

ある程度の基礎知識が付けば、習うより慣れろでも良いと
思うんですけれど、基礎知識が怪しい段階でひたすら
作ろうとするのは勉強方法としては効率が悪いし、
途中で面白くなくなるんではないかなと思います。


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

グローバル変数にするには楽なんですけれど、
C++言語的に考えるとあまり良い実装とはいえ無いので
その辺も含めてC++言語の勉強をした方がいいです。
その方が自分で解決できる可能性も高くなりますし。

掲示板は色々教えてもらえて便利ですけれど、
自分で解決できた方がスピード的には数段早いので
自分で解決できるようになる為にも基礎的な部分の
勉強をされることをお勧めします。

まあ、今後どのようにされるのかはその人次第なのですけれど。


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

あうあう、誤字

誤)
グローバル変数にするには楽なんですけれど、

正)
グローバル変数にするのは楽なんですけれど、


返信引用
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 1301
 

> グローバルにすればいいだけでした。

グローバル変数は万策尽きたときの最後の手段。
「わからない」からグローバル は下策。

1> 子ウィンドを開く→void CParentDlg::OnCbnSelchangeComboBox1();内
2> 取得した値を使用→void CParentDlg::OnBnClickedRecord();内

メンバ変数を用意し、[1]で書いて[2]で読むだけのこと。


返信引用
たいちう
 たいちう
(@たいちう)
ゲスト
結合: 23年前
投稿: 662
 

例えの出来が悪かったようですね。
間抜けな話ですが一応書いておくと私の意図は、、、

・自分のプログラムをどう直すかにとらわれ、
単純なサンプルをわざわざ作成・実行することは重要でないと考え、
原理の理解が不十分なまま闇雲にプログラム修正をしがちである。
・他の方々も勧めているように、基本から勉強したほうが上達が早い。

です。少なくとも後者については伝えることに失敗していますね。
前者についても質問者に伝わったかどうか。
揶揄されたように感じたのかもしれません。
誰も気分を害していなければ良いのですが。


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

特に気分を害するとかは無いですよ。

ただ、あの例えだと多分たいちうさんの言いたい事は伝わって無いと思います。
航空力学だとちょっと高度過ぎかなと感じたので。
「紙飛行機の折り方を勉強しなさい」ならわかりやすかったかなと。


返信引用
maru
 maru
(@maru)
ゲスト
結合: 17年前
投稿: 358
 

> グローバルにすればいいだけでした。
επιστημηさんが書いた通り、メンバー変数を用意すればいいだけの話。
επιστημηさんの書いたコードや私の書いたコードを理解すれば自然とメンバー変数と
いう結論になるはず。この辺からもちゃんと勉強してよ、という気持ちになる。

# そこまで期待するのは無理か。

たいちうさん
> 誰も気分を害していなければ良いのですが。
いえ、私は全く。
逆に、たいちうさんのコメントに逆らうような事を書いたので、たいちうさんの方が
気分を害しているんじゃないかと心配しています。
あの例えは、どちらかというとうまいことを言うなぁ、と感心しています。
ただ、PATIOさんが書いたとおり、航空力学というほど高度な事を要求したつも
りはないぞ、とは思いましたけど。

# だからといって、我ながら「紙の折り方」が適切とも思えないのが難点。


返信引用
固定ページ 3 / 3

返信する

投稿者名

投稿者メールアドレス

タイトル *

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