| Solution46
    | 
コンソールメニュークラス [詳解]
#include "CConsoleMenu.h"


| クラス | |
| struct | SMenuInfo | 
| メニュー定義情報構造体  [詳解] | |
| struct | SMenuItemInfo | 
| メニュー項目情報構造体  [詳解] | |
| 公開メンバ関数 | |
| 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 CConsoleMenu * | GetSubMenu () const noexcept | 
| サブメニュー取得関数  [詳解] | |
| virtual bool | MenuCallBackProc (bool bPreCallBack=false) 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 | 
| ウェイト関数  [詳解] | |
| 限定公開メンバ関数 | |
| virtual bool | ExecSubThread () noexcept | 
| サブスレッド実行関数  [詳解] | |
| 静的限定公開メンバ関数 | |
| static DWORD WINAPI | SubThreadProc (LPVOID lpParam) noexcept | 
| サブスレッド関数  [詳解] | |
| 限定公開変数類 | |
| 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 | 
| サブメニュー要求フラグ  [詳解] | |
| CConsoleMenu * | m_pcSubMenu | 
| サブメニューポインタ  [詳解] | |
| CConsoleMenu * | m_pcParent | 
| 親メニューポインタ  [詳解] | |
|  基底クラス LibCommon::CMutex に属する継承限定公開変数類 | |
| DWORD | m_dwLockCount | 
| ロックカウント  [詳解] | |
|  基底クラス LibCommon::CSync に属する継承限定公開変数類 | |
| HANDLE | m_hObject | 
| オブジェクトハンドル  [詳解] | |
| bool | m_bIsCreate | 
| 新規作成フラグ  [詳解] | |
| 静的限定公開変数類 | |
| 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" | 
| オブジェクト名拡張子  [詳解] | |
| 非公開メンバ関数 | |
| CConsoleMenu (CConsoleMenu const &)=delete | |
| CConsoleMenu & | operator= (CConsoleMenu const &)=delete | 
| 
 | explicitnoexcept | 
コンストラクタ
コンストラクタです。
| [in] | psMenuInfo | メニュー定義情報構造体ポインタ | 
CConsoleMenu.cpp の 31 行目に定義があります。
参照先 NotifyFatalError.
| 
 | inlinevirtualnoexcept | 
| 
 | privatedelete | 
| 
 | inlinevirtualnoexcept | 
実行状態取得関数
実行状態取得関数です。
| なし | 
CConsoleMenu.h の 100 行目に定義があります。
参照元 ExecMenu(), StartMenu(), StopMenu(), AppTest::CAppTest::WmClose().

| 
 | virtualnoexcept | 
メニュー開始関数
メニュー開始関数です。
| なし | 
CConsoleMenu.cpp の 85 行目に定義があります。
参照先 LibCommon::CThread::Create(), IsExecMenu(), m_cEventFinish, m_cEventNotify, m_cEventRequest, m_cThreadSub, LibCommon::CEvent::Reset(), SubThreadProc().
参照元 AppTest::CAppTest::ExecApp(), ExecMenu().


| 
 | virtualnoexcept | 
メニュー実行関数
メニュー実行関数です。
| なし | 
CConsoleMenu.cpp の 152 行目に定義があります。
参照先 ExecMenu(), GetSubMenu(), IsExecMenu(), LibCommon::CSyncAuto::IsLock(), m_bRepeat, m_bSubMenu, m_cEventNotify, m_cEventRequest, m_pcParent, m_pcSubMenu, MenuCallBackProc(), LibCommon::CEvent::Set(), StartMenu(), LibCommon::CSync::Wait().
参照元 ExecMenu(), AppTest::CAppTest::IdleCallBackProc().


| 
 | virtualnoexcept | 
メニュー中止要求関数
メニュー中止要求関数です。
| なし | 
CConsoleMenu.cpp の 130 行目に定義があります。
参照先 ConsoleLine, ConsoleNewLine, ConsoleStopInput, IsExecMenu(), m_cEventFinish, s_bStopMenu, LibCommon::CSync::Wait().
参照元 AppTest::CAppTest::ExecApp(), AppTest::CAppTest::WmClose().


| 
 | inlinevirtualnoexcept | 
メニュー終了待ち関数
メニュー終了待ち関数です。
| [in] | dwTime | 待機時間 | 
CConsoleMenu.h の 153 行目に定義があります。
参照元 ExecSubThread().

| 
 | inlinevirtualnoexcept | 
終了可能状態取得関数
終了可能状態取得関数です。
| なし | 
CConsoleMenu.h の 166 行目に定義があります。
参照元 ExecSubThread().

| 
 | inlinevirtualnoexcept | 
サブメニュー取得関数
サブメニュー取得関数です。
| なし | 
AppTest::CAppTestMenuで再実装されています。
CConsoleMenu.h の 177 行目に定義があります。
参照元 ExecMenu().

| 
 | inlinevirtualnoexcept | 
メニューコールバック関数
メニューコールバック関数です。
| [in] | bPreCallBack | 事前コールバックフラグ | 
AppTest::CAppTestMenuConsole, AppTest::CAppTestMenuWindowで再実装されています。
CConsoleMenu.h の 190 行目に定義があります。
参照元 ExecMenu(), ExecSubThread().

| 
 | protectedvirtualnoexcept | 
サブスレッド実行関数
サブスレッド実行関数です。
| なし | 
CConsoleMenu.cpp の 226 行目に定義があります。
参照先 CanBeExit(), ConsoleInputChar, ConsoleLine, ConsoleNewLine, ConsoleString, ConsoleYesNo, ITEM_KEY_LIST, m_bRepeat, LibCommon::CConsoleMenu::SMenuItemInfo::m_bSubMenu, m_bSubMenu, m_cEventNotify, m_cEventRequest, LibCommon::CConsoleMenu::SMenuInfo::m_nCount, m_nMenuIndex, m_nRepeat, m_pcParent, m_pcSubMenu, LibCommon::CConsoleMenu::SMenuInfo::m_psItemInfo, m_psMenuInfo, LibCommon::CConsoleMenu::SMenuItemInfo::m_pszItemName, LibCommon::CConsoleMenu::SMenuInfo::m_pszName, MenuCallBackProc(), s_bStopMenu, LibCommon::CEvent::Set(), LibCommon::CSync::Wait(), WaitForMenuFinish() (計26項目).
参照元 SubThreadProc().


| 
 | staticprotectednoexcept | 
サブスレッド関数
サブスレッド関数です。
| [in] | lpParam | 引数ポインタ | 
CConsoleMenu.cpp の 456 行目に定義があります。
参照先 ExecSubThread(), ITEM_KEY_LIST, m_cEventFinish, NotifyFatalError, s_bStopMenu, LibCommon::CEvent::Set().
参照元 StartMenu().


| 
 | privatedelete | 
| 
 | protected | 
| 
 | protected | 
| 
 | protected | 
| 
 | protected | 
| 
 | protected | 
| 
 | protected | 
| 
 | protected | 
| 
 | protected | 
| 
 | protected | 
| 
 | protected | 
| 
 | protected | 
| 
 | staticprotected | 
| 
 | staticprotected |