void CDlgTestApp::OnAppExit()
{
// TODO: ここにコマンド ハンドラ コードを追加します。
CDialog endDialog(IDD_DLG_EXIT); // CEndDlgの基本クラスを初期化
if(endDialog.DoModal()==IDOK){
CWinApp::OnAppExit(); // 基本クラスの公開メンバー関数(このアプリケーション自体がCWinAppクラスの派生クラスのオブジェクト(theApp))
}
}
「アプリケーションを終了しますか?」というダイアログのOKボタン(OKかキャンセルボタン)を押したときに、アプリケーションを終了させたいのですが、↑をDlgTestというアプリケーションのアプリケーションクラスのコマンドハンドラとして記述したところ、ちゃんとした動作(アプリの終了)をしています。
ここで質問ですが、
(1)CEndDlgという、ダイアログクラスがありながら、なぜわざわざ、その基本クラスのCDialogクラスのオブジェクトを作成しているのか。CEndDlg endDialog(IDD_DLG_EXIT); じゃだめなのか。
(2) CDlgTestAppというクラスののコマンド(イベント)ハンドラのなかで、その基本クラスのCWinApp::OnAppExit(); と、コードしているのか。こう記述しないとアプリそのものを終了させることは
できないのでしょうか。
その2点がわかりません。(ちなみに上のコードはテキストを参照したのですが)
ご回答、どうぞよろしくお願いします。
No.1ベストアンサー
- 回答日時:
(1)
ヘッダインクルードする手間を省いたんではないでしょうか
>CEndDlg endDialog(IDD_DLG_EXIT);
なんて書くぐらいなら私は CEndDlg endDialog(); で済ませます
(2)
他のコードがないんで詳細不明ですが
そのイベントが動作しているなら基本クラスのCWinApp::OnAppExit();
を呼び出さないと終了することができなくなるはずです
手元で簡単なテストしたら そのイベント走らないので間違ってるかもしれません
VC2010 MFCアプリにて
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) フレームワーク「4.8.1」で、[Sub Main]が動かない。助けて下さい 3 2022/11/14 15:40
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- その他(ソフトウェア) ソフトが異常終了します 1 2022/08/28 01:41
- 中学校 終わった…。 中2です。いろいろと終わりました…。 1つ目が塾…。私の塾では学校のテスト前(中間テス 10 2022/05/24 17:55
- Visual Basic(VBA) 動かなくなってしまった古いVBAを動くようにしたい 8 2022/09/20 13:57
- 友達・仲間 仲良くしてたグループでハブられたらどうしますか? 長文失礼します。 高3女子です。 3年のクラスにな 6 2022/06/06 21:35
- Visual Basic(VBA) VBA 登録ボタンを省略してエンターキーで作業 4 2022/07/09 22:29
- Excel(エクセル) 別シートに毎回異なるデータをコピーする 7 2022/06/24 09:02
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
FriendとPublicの違い。。。
-
イベントにAddHandlerされてい...
-
既定のコンストラクタがない?
-
DLLからEXEのクラスを呼び出す...
-
C#で通常のbuttonコントロール...
-
ダイアログ表示時にチェックボ...
-
MRUの一時回避 VC++2008 MFC
-
このコンパイルエラーの意味に...
-
VB.Netの大域変数
-
【C++】vectorについて
-
C#で定数クラスをシングルトン...
-
クラスのアドレスを引数として...
-
MFCのCListCtrlでスクロールを検出
-
MFCアプリのコマンドラインでパ...
-
C++ protectedにアクセス不可
-
WindowsAPIのリストビューの...
-
[MFC] CWnd::MessageBoxの警告...
-
【ASP.NET】 独自で作成したク...
-
コンソールアプリでのクリップ...
-
継承を重ねた場合のコストはど...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
FriendとPublicの違い。。。
-
既定のコンストラクタがない?
-
イベントにAddHandlerされてい...
-
クラスのアドレスを引数として...
-
ダイアログ表示時にチェックボ...
-
(UWSC) 「#32770」の意味わかり...
-
エディットコントロールのイベ...
-
エディットコントロールでEnter...
-
WindowsAPIのリストビューの...
-
CMainFrameクラスの使い方
-
DebugクラスとTraceクラスの違い
-
MessageBoxを継承したい
-
C++ protectedにアクセス不可
-
このコンパイルエラーの意味に...
-
MFCのドラッグ&ドロップについて
-
MFCアプリのコマンドラインでパ...
-
【ASP.NET】 独自で作成したク...
-
C#で通常のbuttonコントロール...
-
ダイアログクラスのコントロー...
-
派生クラスから基本クラスprote...
おすすめ情報