Solution46
CAppTestMenuWindow.cpp
[詳解]
1 //=============================================================================
2 /// @file
3 /// テストアプリケーションウィンドウメニュー実装ファイル
4 ///
5 /// テストアプリケーションウィンドウメニュー実装ファイルです。
6 ///
7 /// $Id: CAppTestMenuWindow.cpp 245 2019-03-20 15:03:41Z admin $
8 /// $Date: 2019-03-21 00:03:41 +0900 (2019/03/21 (木)) $
9 /// $Author: admin $
10 ///
11 /// @attention なし
12 
13 #pragma managed( push, off )
14 
15 //=============================================================================
16 // インクルードファイル
17 #include <CAppTestMenuWindow.h>
18 #include <AppTest.h>
19 #include <CConsole.h>
20 
21 //=============================================================================
22 // テストアプリケーション名前空間
23 namespace AppTest {
24  //=========================================================================
25  // テストアプリケーションウィンドウメニュークラス
26  //=========================================================================
27  // 構築子と解体子
28  //-------------------------------------------------------------------------
29  // コンストラクタ
31  // 基底クラスコンストラクタ
32  : CAppTestMenuBase( &s_sMenuInfo )
33  {}
34 
35  //=========================================================================
36  // 公開関数
37  //-------------------------------------------------------------------------
38  // メニューコールバック関数
39  bool CAppTestMenuWindow::MenuCallBackProc( bool bPreCallBack ) noexcept {
40  // 処理ブロック
41  bool result = false;
42  do {
43  // インデックスを調べる
44  switch ( static_cast< EMenuItem >( m_nMenuIndex ) ) {
45  case EMenuItem::ShowWindowInfo: result = ShowWindowInfo( bPreCallBack ); break; // ウィンドウ情報表示
46  }
47  } while ( false );
48 
49  // 実行結果を返す
50  return result;
51  }
52 
53  //-------------------------------------------------------------------------
54  // ウィンドウ情報表示関数
55  bool CAppTestMenuWindow::ShowWindowInfo( bool bPreCallBack ) noexcept {
56  // 処理ブロック
57  bool result = false;
58  do {
59  // 事前コールバックフラグを調べる
60  if ( bPreCallBack ) {
61  // 継続!
62  result = true;
63  break;
64  }
65 
66  // メインウィンドウ情報を表示する
67  ConsoleLine( L"メインウィンドウ情報" );
69 
70  OutputFinishMessage( L"ウィンドウ情報を表示しました。" );
71  } while ( false );
72 
73  // 実行結果を返す
74  return result;
75  }
76 
77  //=========================================================================
78  // 静的限定公開定数
79  //-------------------------------------------------------------------------
80  // メニュー定義情報構造体
82  L"ウィンドウメニュー", // メニュー名称
83  static_cast< int >( EMenuItem::Size ), // メニュー項目数
84  s_sItemInfo, // メニュー項目情報配列
85  };
86 
87  //-------------------------------------------------------------------------
88  // メニュー項目情報配列
90  { L"ウィンドウ情報表示" }, // ShowWindowInfo
91  };
92 }
93 
94 #pragma managed( pop )
テストアプリケーション名前空間
Definition: AppTest.h:25
メニュー定義情報構造体
Definition: CConsoleMenu.h:55
virtual bool ShowWindowInfo(bool bPreCallBack) noexcept
メニュー項目関数
#define ConsoleNewLine()
改行出力マクロ
Definition: CConsole.h:29
static SMenuItemInfo const s_sItemInfo[static_cast< int >(EMenuItem::Size)]
メニュー項目情報配列
int m_nMenuIndex
メニュー項目インデックス
Definition: CConsoleMenu.h:230
コンソール入出力クラスヘッダコンソール
virtual bool MenuCallBackProc(bool bPreCallBack) noexcept override
メニューコールバック関数
テストアプリケーションメニュー基底クラス
static bool OutputFinishMessage(wchar_t const *pszFormat,...) noexcept
終了メッセージ出力関数
#define ConsoleLine(...)
ヘッダインデントなし書式設定文字列行出力マクロ
Definition: CConsole.h:34
テストアプリケーションウィンドウメニュークラスヘッダファイル
static SMenuInfo const s_sMenuInfo
メニュー定義情報構造体
メニュー項目情報構造体
Definition: CConsoleMenu.h:43
テストアプリケーションヘッダファイル
CAppTestMenuWindow() noexcept
コンストラクタ