Solution46
AppTest::CAppTestMenuWindow クラス

テストアプリケーションウィンドウメニュークラス [詳解]

#include "CAppTestMenuWindow.h"

AppTest::CAppTestMenuWindow の継承関係図
Inheritance graph
AppTest::CAppTestMenuWindow 連携図
Collaboration graph

公開メンバ関数

 CAppTestMenuWindow () noexcept
 コンストラクタ [詳解]
 
virtual ~CAppTestMenuWindow () noexcept
 デストラクタ [詳解]
 
virtual bool MenuCallBackProc (bool bPreCallBack) noexcept override
 メニューコールバック関数 [詳解]
 
virtual bool ShowWindowInfo (bool bPreCallBack) noexcept
 メニュー項目関数 [詳解]
 
- 基底クラス AppTest::CAppTestMenuBase に属する継承公開メンバ関数
 CAppTestMenuBase (SMenuInfo const *psMenuInfo) noexcept
 コンストラクタ [詳解]
 
virtual ~CAppTestMenuBase () noexcept
 デストラクタ [詳解]
 
- 基底クラス LibCommon::CConsoleMenu に属する継承公開メンバ関数
 CConsoleMenu (SMenuInfo const *psMenuInfo) noexcept
 コンストラクタ [詳解]
 
virtual ~CConsoleMenu () noexcept
 デストラクタ [詳解]
 
virtual bool IsExecMenu () noexcept
 実行状態取得関数 [詳解]
 
virtual bool StartMenu () noexcept
 メニュー開始関数 [詳解]
 
virtual bool ExecMenu () noexcept
 メニュー実行関数 [詳解]
 
virtual void StopMenu () noexcept
 メニュー中止要求関数 [詳解]
 
virtual bool WaitForMenuFinish (DWORD dwTime=INFINITE) noexcept
 メニュー終了待ち関数 [詳解]
 
virtual bool CanBeExit () const noexcept
 終了可能状態取得関数 [詳解]
 
virtual CConsoleMenuGetSubMenu () const noexcept
 サブメニュー取得関数 [詳解]
 
- 基底クラス LibCommon::CMutex に属する継承公開メンバ関数
 CMutex () noexcept
 コンストラクタ [詳解]
 
virtual ~CMutex () noexcept
 デストラクタ [詳解]
 
virtual void Close () noexcept override
 クローズ関数 [詳解]
 
virtual bool Release () noexcept override
 リリース関数 [詳解]
 
virtual bool Lock (DWORD dwTime=INFINITE) noexcept override
 ロック関数 [詳解]
 
virtual bool Unlock () noexcept override
 ロック解除関数 [詳解]
 
virtual bool Create (wchar_t const *pszObjectName=nullptr) noexcept
 作成関数 [詳解]
 
virtual bool Open (wchar_t const *pszObjectName) noexcept
 オープン関数 [詳解]
 
- 基底クラス LibCommon::CSync に属する継承公開メンバ関数
 CSync () noexcept
 コンストラクタ [詳解]
 
virtual ~CSync () noexcept
 デストラクタ [詳解]
 
virtual HANDLE GetHandle () const noexcept
 オブジェクトハンドル取得関数 [詳解]
 
virtual bool IsCreate () const noexcept
 新規作成状態取得関数 [詳解]
 
virtual bool Wait (DWORD dwTime=INFINITE) noexcept
 ウェイト関数 [詳解]
 

限定公開型

enum  EMenuItem { EMenuItem::ShowWindowInfo, EMenuItem::Size }
 メニュー項目種別列挙体 [詳解]
 

静的限定公開変数類

static SMenuInfo const s_sMenuInfo
 メニュー定義情報構造体 [詳解]
 
static SMenuItemInfo const s_sItemInfo [static_cast< int >(EMenuItem::Size)]
 メニュー項目情報配列 [詳解]
 
- 基底クラス LibCommon::CConsoleMenu に属する継承静的限定公開変数類
static wchar_t const *const ITEM_KEY_LIST = L"123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
 項目選択文字リスト [詳解]
 
static bool s_bStopMenu = false
 メニュー中止要求フラグ [詳解]
 
- 基底クラス LibCommon::CMutex に属する継承静的限定公開変数類
static wchar_t const *const OBJECT_NAME_EXT = L".CMutex"
 オブジェクト名拡張子 [詳解]
 

非公開メンバ関数

 CAppTestMenuWindow (CAppTestMenuWindow const &)=delete
 
CAppTestMenuWindowoperator= (CAppTestMenuWindow const &)=delete
 

その他の継承メンバ

- 基底クラス AppTest::CAppTestMenuBase に属する継承静的公開メンバ関数
static bool OutputFinishMessage (wchar_t const *pszFormat,...) noexcept
 終了メッセージ出力関数 [詳解]
 
- 基底クラス LibCommon::CConsoleMenu に属する継承限定公開メンバ関数
virtual bool ExecSubThread () noexcept
 サブスレッド実行関数 [詳解]
 
- 基底クラス LibCommon::CConsoleMenu に属する継承静的限定公開メンバ関数
static DWORD WINAPI SubThreadProc (LPVOID lpParam) noexcept
 サブスレッド関数 [詳解]
 
- 基底クラス LibCommon::CConsoleMenu に属する継承限定公開変数類
SMenuInfo const * m_psMenuInfo
 メニュー定義情報構造体ポインタ [詳解]
 
CEvent m_cEventRequest
 要求イベント [詳解]
 
CEvent m_cEventNotify
 通知イベント [詳解]
 
CEvent m_cEventFinish
 終了イベント [詳解]
 
CThread m_cThreadSub
 サブスレッド [詳解]
 
int m_nMenuIndex
 メニュー項目インデックス [詳解]
 
int m_nRepeat
 リピートカウント [詳解]
 
bool m_bRepeat
 リピート実行フラグ [詳解]
 
bool m_bSubMenu
 サブメニュー要求フラグ [詳解]
 
CConsoleMenum_pcSubMenu
 サブメニューポインタ [詳解]
 
CConsoleMenum_pcParent
 親メニューポインタ [詳解]
 
- 基底クラス LibCommon::CMutex に属する継承限定公開変数類
DWORD m_dwLockCount
 ロックカウント [詳解]
 
- 基底クラス LibCommon::CSync に属する継承限定公開変数類
HANDLE m_hObject
 オブジェクトハンドル [詳解]
 
bool m_bIsCreate
 新規作成フラグ [詳解]
 

詳解

テストアプリケーションウィンドウメニュークラス

テストアプリケーションウィンドウメニュークラスです。

注意
なし

CAppTestMenuWindow.h31 行目に定義があります。

列挙型メンバ詳解

メニュー項目種別列挙体

メニュー項目種別列挙体です。

注意
なし
列挙値
ShowWindowInfo 

ウィンドウ情報表示

Size 

列挙体サイズ

CAppTestMenuWindow.h96 行目に定義があります。

96  {
97  ShowWindowInfo, ///< ウィンドウ情報表示
98  Size ///< 列挙体サイズ
99  };
virtual bool ShowWindowInfo(bool bPreCallBack) noexcept
メニュー項目関数

構築子と解体子

AppTest::CAppTestMenuWindow::CAppTestMenuWindow ( )
explicitnoexcept

コンストラクタ

コンストラクタです。

引数
なし
戻り値
なし
注意
なし

CAppTestMenuWindow.cpp30 行目に定義があります。

33  {}
CAppTestMenuBase(SMenuInfo const *psMenuInfo) noexcept
コンストラクタ
static SMenuInfo const s_sMenuInfo
メニュー定義情報構造体
virtual AppTest::CAppTestMenuWindow::~CAppTestMenuWindow ( )
inlinevirtualnoexcept

デストラクタ

デストラクタです。

引数
なし
戻り値
なし
注意
なし

CAppTestMenuWindow.h55 行目に定義があります。

参照先 MenuCallBackProc(), ShowWindowInfo().

55 {}

呼び出し関係図:

AppTest::CAppTestMenuWindow::CAppTestMenuWindow ( CAppTestMenuWindow const &  )
privatedelete

関数詳解

bool AppTest::CAppTestMenuWindow::MenuCallBackProc ( bool  bPreCallBack)
overridevirtualnoexcept

メニューコールバック関数

メニューコールバック関数です。

引数
[in]bPreCallBack事前コールバックフラグ
戻り値
実行結果
  • true 継続
  • false 終了
注意
オーバーライド関数です。

LibCommon::CConsoleMenuを再実装しています。

CAppTestMenuWindow.cpp39 行目に定義があります。

参照先 LibCommon::CConsoleMenu::m_nMenuIndex, ShowWindowInfo.

参照元 ~CAppTestMenuWindow().

39  {
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  }
virtual bool ShowWindowInfo(bool bPreCallBack) noexcept
メニュー項目関数
int m_nMenuIndex
メニュー項目インデックス
Definition: CConsoleMenu.h:230

被呼び出し関係図:

bool AppTest::CAppTestMenuWindow::ShowWindowInfo ( bool  bPreCallBack)
virtualnoexcept

メニュー項目関数

メニュー項目関数です。

引数
[in]bPreCallBack事前コールバックフラグ
戻り値
実行結果
  • true 継続
  • false 終了
注意
なし

CAppTestMenuWindow.cpp55 行目に定義があります。

参照先 ConsoleLine, ConsoleNewLine, AppTest::CAppTestMenuBase::OutputFinishMessage(), s_sItemInfo, s_sMenuInfo, Size.

参照元 MenuCallBackProc(), ~CAppTestMenuWindow().

55  {
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  }
#define ConsoleNewLine()
改行出力マクロ
Definition: CConsole.h:29
static bool OutputFinishMessage(wchar_t const *pszFormat,...) noexcept
終了メッセージ出力関数
#define ConsoleLine(...)
ヘッダインデントなし書式設定文字列行出力マクロ
Definition: CConsole.h:34

呼び出し関係図:

被呼び出し関係図:

CAppTestMenuWindow& AppTest::CAppTestMenuWindow::operator= ( CAppTestMenuWindow const &  )
privatedelete

メンバ詳解

CAppTestMenuWindow::SMenuInfo const AppTest::CAppTestMenuWindow::s_sMenuInfo
staticprotected
初期値:
= {
L"ウィンドウメニュー",
static_cast< int >( EMenuItem::Size ),
}

メニュー定義情報構造体

CAppTestMenuWindow.h104 行目に定義があります。

参照元 ShowWindowInfo().

CAppTestMenuBase::SMenuItemInfo const AppTest::CAppTestMenuWindow::s_sItemInfo
staticprotected
初期値:
= {
{ L"ウィンドウ情報表示" },
}

メニュー項目情報配列

CAppTestMenuWindow.h105 行目に定義があります。

参照元 ShowWindowInfo().


このクラス詳解は次のファイルから抽出されました: