• ベストアンサー

ダイアログボックスの戻るボタンについて

ダイアログ1の次へボタンでダイアログ1が閉じ、ダイアログ2が開く場合において、 ダイアログ2の戻るボタンを押すとダイアログ1がまた開くようにするにはどのようにすれば良いのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • GAIA9916
  • ベストアンサー率42% (17/40)
回答No.2

#1です。 そうでしたか。 それでは、ダイアログ1を起動、ダイアログ2を起動後、ダイアログ1を、ShowWindow(SW_HIDE)で非表示にするというのはどうでしょう。もしかすると、SetFocus()する必要はあるかもしれません。 または、両方のダイアログをモードレスにCreateして、相互に、ShowWindow()で表示、非表示するというのは、どうでしょう。 実証していないので、あくまでも参考です。

VitaminBB
質問者

お礼

回答ありがとうございます。 そんなこと言われてもやり方が全然分からないし、でもどうなるかやってみよっと。 ということでやってみたら、あら本当だ。なんの問題も無く自分のやりたいことが出来ました。 ありがとうございました。

その他の回答 (1)

  • GAIA9916
  • ベストアンサー率42% (17/40)
回答No.1

MFCをご利用であれば、CPropertySheet CPropertyPage のクラスを使うことになると思いますが。 SetWinzardMode()でモード指定をして、Domodal()するとできるはずです。

参考URL:
http://www.microsoft.com/JAPAN/developer/library/vcmfc/_mfc_cpropertysheet.htm
VitaminBB
質問者

お礼

回答ありがとうございます。 CPropertySheet CPropertyPage のクラスを使わずに、勉強のために単純にダイアログ1と2を切り替える方法が知りたいのですが簡単には出来ないのでしょうか? VBであれば簡単にできることですが、VCだとそうはいかないのでしょうか?

関連するQ&A

  • ダイアログのボタンが押された時に、その「ボタン」のあるダイアログと、すでに表示されている他のダイアログを消したいです

    Win2000/MFC/ダイアログベース で作業しています。初心者です(^^;) Aというダイアログで「あるボタンa」を押してDoModalでBというダイアログを表示させ、Bダイアログで「あるボタンb」を押してDoModalでCというダイアログを表示させ、Cダイアログで「あるボタンc」を押した時にBダイアログとCダイアログを閉じたい(消したい)のですが EndDialogで消せません DoModalの戻り値をret_b,ret_cとした場合 EndDialog(ret_c); EndDialog(ret_b); としたのですが。。。 やり方がおかしいのか、よくわかりません・・ 初心者でもわかりやすいお返事お待ちしています(^^;)

  • Excelダイアログボックスのボタン命令

    VBAの初心者です。 Excelでダイアログボックスを作りました。ボタンを押したとき、ワークシートの選択した範囲の印刷をさせたいと思っています。 ダイアログボックスのボタンに「ボタン2_Click」と名付けた下記のマクロを登録しました。 Sub ボタン2_Click() With DialogSheets(1) Sheets("Sheet1").Select Range("A3:G12").Select Selection.PrintOut Copies:=1, Collate:=True Range("A13:G18").Select Selection.PrintOut Copies:=1, Collate:=True Range("K18").Select End With End Sub 「ボタン2_Click」マクロは、直接実行すれば希望どおり印刷できます。 しかし、ダイアログボックスのボタンを押した場合には、Range("A3:G12").Selectまで実行しますが、そのあと次のメッセージが出て動きません。 実行時エラー'1004': Range クラスの PrintOut メソッドが失敗しました。 どう修正したらよいのか教えて下さい。よろしくお願いします。

  • ダイアログボックスのボタンコントロールのフォーカスについて

    ダイアログボックスのボタンコントロールのフォーカスについて 教えて下さい。  モーダルダイアログにボタン「OK」を一つ貼り付けて それを「標準のボタン」(BS_DEFPUSHBUTTON)として作成したのですが ダイアログ表示直後は下画像(1)のようになってエンターキーを押しても 反応しません。何度かカーソルキーを押すとようやく(2)のように ボタンに枠線がついてエンターで押せるようになるのですが ダイアログ表示直後に(2)のようにするにはどうするべきでしょうか? ダイアログのコールバック・プロシージャ(WM_INITDIALOG部分でボタン作成) LRESULT CALLBACK SettingWndProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp){ switch (msg){ case WM_INITDIALOG: CreateWindowEx(0x00000000,"BUTTON","OK", WS_CHILD |WS_VISIBLE| WS_TABSTOP | BS_DEFPUSHBUTTON, 16,16,80,21,hWnd,(HMENU)IDOK,GetModuleHandle(0),0); return TRUE; } return FALSE; }

  • ダイアログの×ボタン

    swingで、ダイアログの右上の×ボタンを選択不可にすることは可能でしょうか?

    • ベストアンサー
    • Java
  • ダイアログボックスについて

    ワードをファイルから開くときに 「ダイアログボックスが開いているためコマンドを実行することができません。実行するには「OK」ボタンをクリックしてからすべてのダイアログボックスを閉じて下さい」と出てきます。ワードを立ち上げてからファイルを開くとこの表示は出てこないのですが、どうすればこの表示がでなくなりますか?ちなみに他のアプリケーションは何も立ち上がってはいないのですが。

  • ホームページの閉じるボタンとダイアログ

    ホームページの閉じるボタンとダイアログ ホームページを制作しています。 そこで、ボタン(テキストではありません)をクリックすると、確認のようなダイアログのようなやつ(わかりますよ…ね)に『本当に閉じますか』と書いてあって、はいを選ぶとダイアログで『ありがとうございました。またお越しください』と表示し okをクリックするとウィンドウを閉じ、いいえを選ぶとダイアログで『お気に入り登録して帰ってくれると嬉しいです!』と表示したいのです。 まだ作り始めたばかりで、HTMLやjavascriptはよくわかりませんが、タグを教えてください。 よろしくお願いします。

  • ダイアログボックスのコメント

    いつもお世話になっております。 VS2005でC++を用いてWindowsアプリケーションの作成をしています。 ダイアログボックス内にラジオボタンが2つあり、 どちらかのラジオボタンにチェックを入れた時点で ダイアログ内の空いたスペースにコメント(スタティックテキスト?) を表示させたいと考えています。(ヘルプ的な感じ) このような場合、コメントとして使うのは 「スタティックテキスト」でいいのでしょうか。 またどのように表示・非表示の切り替え?をすればいいのでしょうか。 宜しければ方法を教えていただきたいです。 ご教授お願いいたします。

  • AlertダイアログのOKボタンについて

    テキストフィールドに入力された文字数が最大値を超えている場合に、submitボタンをクリックするとJavaScriptのalertダイアログでエラーメッセージを表示するようにしています。 alertダイアログのOKボタンを2回クリックしないと閉じない場合があるのですが、原因と対策について知っていましたら教えてください。 どういう条件のとき、2回クリックしないと閉じないかは明確になっていませんが、Enterキー押下でsubmitボタンが実行されるように変更したところこの現象が起こりました。 Enterでsubmitしようとした際に表示されるalertダイアログでこの問題が発生するようです。

  • ダイアログボックスの表示

    VC++6.0 MFCでプログラミングをしています。 ボタンを押すことによるダイアログの表示ではなく、ループ中である条件を満たしたときにダイアログボックスを表示したいのですが、ループの中でどのように命令すればよいのでしょうか?

  • ダイアログ、ボタンについて

    VC++でプログラミングしています。 MFC AppWizard(exe) でダイアログベースで造っています。 以下の方法を教えてください。 ・EXE起動時、ダイアログのサイズを変更したい。 起動時に画面サイズをチェックして、画面いっぱいの大きさにしたいため。 ・EXE起動後、ボタンに表示している文字列を変更したい。 識者の方、ご教授願います。

専門家に質問してみよう