ダイアログ画面のボタンを押すと、次の画面に画面遷移させるにはどうしたらよいでしょうか?
教えてください。
環境がまったくわかりません。
一応、ボタンが押されたらそのダイアログの親にそれを通知してやって、
親のほうでどうとでもすればいいような気はしますが。
すみません。
『新C++入門』と『新Visual C++ 6.0入門』を読んだだけのそうとうな初心者です。
環境と申しますと?
ボタンが押されたらそのダイアログの親にそれを通知してやるとは?どのように?
私が今やりたい事は、ダイアログの画面にボタンが1個だけあって、それを押すと何も表示して
いないダイアログの画面を表示する。というだけのものを作りだいのですが、どの関数にどんな
処理を加えてやればいいのか?
ごめんなさい、まず、使用上の注意を読んでください。
で、いま、ダイアログは表示されている?
としたら、そのダイアログはどうやって出しました?
あなたの質問は現在地をいわないで道を(電話で)尋ねてるのと同じような状況です。
できれば答えてあげたいので現在の状況をがんばって説明してみてください。
あと、直接関係なくてもいいからほかの書き込みも見てみるのもいいですよ。
だいたいの場の雰囲気とかも実は重要ですから。
>環境と申しますと?
ヒント:
発言される前に「使用上の注意」を必ずお読み下さい。
聞かれている意味わからない様なので
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」使っていますか
こんなこと使用上の注意に書いてあると思いますけど
すみません。
遅くなりました。
OSはWindows2000です。
コンパイラはVISUAL C++ 6.0です。
新規作成する際にMFC AppWizard(exe)を選んでいます。
で、ダイアログベースですか?
SDIまたはMDIですか?
そのダイアログはどうやって出したもので、ボタンはどのようになってますか?
現在はSDIで作成しています。
新規作成→MFC AppWizard(exe)→プロジェクト名(aaa)→OK→SDI選択→6/6までデフォルト
のままで6/6まできたら、基本クラスをCFormViewを選択→終了
そしてダイアログ画面が出るので、そこにボタンを一つ置く
そのボタンをClassWizardでメッセージをBN_CLICKEDを選択して、関数の追加して終わっている状
態です。
関数にはまだ何も処理を書いていません。
GetDialogItemというのでそのダイアログのIDを取得して、
それを引数などを使って
送ることで遷移は可能じゃないでしょうか??
今は自分のがちょっと忙しくて
あんまり質問を読んでいないので・・・。
とりあえず現状は大体わかったような気はしますが、質問内容にある「次の画面」とは
具体的にはどのようなものを示していますか?
それがわからないと、回答は出ないと思います。
作りたいものはですね、ちょっと具体的に言いますと、
ボタンを何個か配置したメニュー画面を作ります。
ボタンを押すと画面遷移して、その画面でデータベースを操作できる。
というようなものを作りたいのです。
ただ最初の段階として、画面にボタン1つを置き、それを押すと画面遷移させる。
ということがしたいので、次の画面は何も表示しないダイアログ画面でかまわないのですが。
こんな説明ではご理解いただけないでしょうか?
そうすると、ダイアログを追加する手順がわからないって事なんでしょうか?
VCのメニューから
[挿入]
+-[リソース]
+-[Dialog]
を選択してください。
多分ダイアログが追加されると思います。
で、ダイアログを制御するためのクラスを作成する必要があるんで
[挿入]
+-[クラスの新規作成]
を行って、基底クラスには CDialog を指定。
ダイアログのIDにはさっきの手順で作成されたダイアログのものを指定してください。
とりあえず、ここまでやったら次にいきましょう。
どうも、この回答で方向性があってるか自信ないんでこれ以上はまた後ということで。
はい。
ダイアログが追加されました。
次はどうしたら良いですか?
最初の画面のボタン押下のタイミングで新しく追加したダイアログ画面への遷移の仕方をお願い
します。
じゃぁですね、BN_CLICKEDを選択して、追加された関数に以下の処理をいれてください。
CDialog1 dlg1 ;
dlg1.DoModal() ;
上記の CDialog1 には自分で作成したクラス名を入れてください。
で、新しく *.h と *.cpp が一つずつ出来てると思いますんで
CXXXXView の *.cpp の #include 文が並んでる下に
#include dialog1.h
のように新しいダイアログのヘッダファイルを追加してください。
これで新しく追加したダイアログは表示されるでしょう。
あとは知りません。