ダイアログ画面のボタンを押すと、他のダイアログ画面に遷移させたいのですが? – プログラミング – Home

ダイアログ画面のボタンを押すと、他のダ...
 
通知
すべてクリア

[解決済] ダイアログ画面のボタンを押すと、他のダイアログ画面に遷移させたいのですが?

固定ページ 1 / 2

天草 銀
 天草 銀
(@天草 銀)
ゲスト
結合: 23年前
投稿: 36
Topic starter  

ダイアログ画面のボタンを押すと、次の画面に画面遷移させるにはどうしたらよいでしょうか?
教えてください。


引用未解決
トピックタグ
PAI
 PAI
(@PAI)
ゲスト
結合: 23年前
投稿: 359
 

環境がまったくわかりません。

一応、ボタンが押されたらそのダイアログの親にそれを通知してやって、
親のほうでどうとでもすればいいような気はしますが。


返信引用
天草 銀
 天草 銀
(@天草 銀)
ゲスト
結合: 23年前
投稿: 36
Topic starter  

すみません。
『新C++入門』と『新Visual C++ 6.0入門』を読んだだけのそうとうな初心者です。

環境と申しますと?

ボタンが押されたらそのダイアログの親にそれを通知してやるとは?どのように?

私が今やりたい事は、ダイアログの画面にボタンが1個だけあって、それを押すと何も表示して
いないダイアログの画面を表示する。というだけのものを作りだいのですが、どの関数にどんな
処理を加えてやればいいのか?


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

ごめんなさい、まず、使用上の注意を読んでください。

で、いま、ダイアログは表示されている?
としたら、そのダイアログはどうやって出しました?

あなたの質問は現在地をいわないで道を(電話で)尋ねてるのと同じような状況です。
できれば答えてあげたいので現在の状況をがんばって説明してみてください。

あと、直接関係なくてもいいからほかの書き込みも見てみるのもいいですよ。
だいたいの場の雰囲気とかも実は重要ですから。


返信引用
駄犬
 駄犬
(@駄犬)
ゲスト
結合: 23年前
投稿: 59
 

>環境と申しますと?

ヒント:
発言される前に「使用上の注意」を必ずお読み下さい。


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

聞かれている意味わからない様なので
OSは何を使っていますか
 WINDOWS95/98/ME/2000/XP
 LINUX/FREEBSD
コンパイラは何を使っていますか
 VISUAL C++ 1.0/1.5/2.0/4.0/4.1/5.0/6.0
 GCC++
 Cビルダー
あなたの作成しているプログラムでは「MFC」使っていますか

こんなこと使用上の注意に書いてあると思いますけど
           


返信引用
天草 銀
 天草 銀
(@天草 銀)
ゲスト
結合: 23年前
投稿: 36
Topic starter  

すみません。
遅くなりました。
OSはWindows2000です。
コンパイラはVISUAL C++ 6.0です。
新規作成する際にMFC AppWizard(exe)を選んでいます。


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

で、ダイアログベースですか?
SDIまたはMDIですか?

そのダイアログはどうやって出したもので、ボタンはどのようになってますか?


返信引用
天草 銀
 天草 銀
(@天草 銀)
ゲスト
結合: 23年前
投稿: 36
Topic starter  

現在はSDIで作成しています。
新規作成→MFC AppWizard(exe)→プロジェクト名(aaa)→OK→SDI選択→6/6までデフォルト
のままで6/6まできたら、基本クラスをCFormViewを選択→終了
そしてダイアログ画面が出るので、そこにボタンを一つ置く
そのボタンをClassWizardでメッセージをBN_CLICKEDを選択して、関数の追加して終わっている状
態です。
関数にはまだ何も処理を書いていません。


返信引用
ヒー
 ヒー
(@ヒー)
ゲスト
結合: 23年前
投稿: 15
 

GetDialogItemというのでそのダイアログのIDを取得して、
それを引数などを使って
送ることで遷移は可能じゃないでしょうか??
今は自分のがちょっと忙しくて
あんまり質問を読んでいないので・・・。


返信引用
ん
 ん
(@ん)
ゲスト
結合: 24年前
投稿: 81
 

とりあえず現状は大体わかったような気はしますが、質問内容にある「次の画面」とは
具体的にはどのようなものを示していますか?
それがわからないと、回答は出ないと思います。


返信引用
天草 銀
 天草 銀
(@天草 銀)
ゲスト
結合: 23年前
投稿: 36
Topic starter  

作りたいものはですね、ちょっと具体的に言いますと、
ボタンを何個か配置したメニュー画面を作ります。
ボタンを押すと画面遷移して、その画面でデータベースを操作できる。
というようなものを作りたいのです。
ただ最初の段階として、画面にボタン1つを置き、それを押すと画面遷移させる。
ということがしたいので、次の画面は何も表示しないダイアログ画面でかまわないのですが。
こんな説明ではご理解いただけないでしょうか?


返信引用
ん
 ん
(@ん)
ゲスト
結合: 24年前
投稿: 81
 

そうすると、ダイアログを追加する手順がわからないって事なんでしょうか?

VCのメニューから
[挿入]
+-[リソース]
+-[Dialog]
を選択してください。
多分ダイアログが追加されると思います。

で、ダイアログを制御するためのクラスを作成する必要があるんで
[挿入]
+-[クラスの新規作成]
を行って、基底クラスには CDialog を指定。
ダイアログのIDにはさっきの手順で作成されたダイアログのものを指定してください。

とりあえず、ここまでやったら次にいきましょう。

どうも、この回答で方向性があってるか自信ないんでこれ以上はまた後ということで。


返信引用
天草 銀
 天草 銀
(@天草 銀)
ゲスト
結合: 23年前
投稿: 36
Topic starter  

はい。
ダイアログが追加されました。
次はどうしたら良いですか?
最初の画面のボタン押下のタイミングで新しく追加したダイアログ画面への遷移の仕方をお願い
します。


返信引用
ん
 ん
(@ん)
ゲスト
結合: 24年前
投稿: 81
 

じゃぁですね、BN_CLICKEDを選択して、追加された関数に以下の処理をいれてください。

CDialog1 dlg1 ;
dlg1.DoModal() ;

上記の CDialog1 には自分で作成したクラス名を入れてください。

で、新しく *.h と *.cpp が一つずつ出来てると思いますんで

CXXXXView の *.cpp の #include 文が並んでる下に

#include dialog1.h

のように新しいダイアログのヘッダファイルを追加してください。

これで新しく追加したダイアログは表示されるでしょう。

あとは知りません。


返信引用
固定ページ 1 / 2

返信する

投稿者名

投稿者メールアドレス

タイトル *

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