Solution46
LibWindow::CWndMain クラス

メインウィンドウクラス [詳解]

#include "CWndMain.h"

LibWindow::CWndMain の継承関係図
Inheritance graph
LibWindow::CWndMain 連携図
Collaboration graph

クラス

struct  SIconImageInfo
 アイコンイメージ情報構造体 [詳解]
 

公開メンバ関数

 CWndMain () noexcept
 コンストラクタ [詳解]
 
virtual ~CWndMain () noexcept
 デストラクタ [詳解]
 
virtual wchar_t const * GetSectionName () const noexcept override
 セクション名取得関数 [詳解]
 
virtual bool Create (HWND hParent=nullptr, HMENU hMenu=nullptr) noexcept override
 ウィンドウ作成関数 [詳解]
 
virtual LRESULT WmDestroy () noexcept override
 各種メッセージ処理関数 [詳解]
 
virtual LRESULT WmSize () noexcept override
 各種メッセージ処理関数 [詳解]
 
virtual LRESULT WmSetFocus () noexcept override
 各種メッセージ処理関数 [詳解]
 
virtual LRESULT WmMouseActivate () noexcept override
 
virtual LRESULT WmMenuSelect () noexcept override
 
virtual LRESULT WmExitMenuLoop () noexcept override
 
virtual LRESULT NmClick () noexcept override
 
virtual LRESULT WmDrawItem () noexcept override
 
virtual LRESULT WmCommand () noexcept override
 
virtual LRESULT WmNotifyChildSetFocus () noexcept override
 ユーザ定義メッセージ処理関数 [詳解]
 
virtual LRESULT WmNotifyChildLButtonUp () noexcept override
 
virtual LRESULT WmNotifyChildCommand () noexcept override
 
virtual bool InitConfig (CJsonConfig &rcConfig) noexcept override
 ウィンドウ構成情報初期化関数 [詳解]
 
virtual bool ResumeConfig (CJsonConfig &rcConfig) noexcept override
 ウィンドウ構成情報復元関数 [詳解]
 
virtual bool SaveConfig (CJsonConfig &rcConfig) noexcept override
 ウィンドウ構成情報保存関数 [詳解]
 
virtual bool GetChildPaneInfo (SChildPaneInfo &rsChildInfo) noexcept override
 子ペインウィンドウ情報取得関数 [詳解]
 
virtual int GetOrderIndex (CWndPane *pcPane=nullptr, int *pnOrder=nullptr) noexcept override
 ペインウィンドウオーダー番号取得関数 [詳解]
 
virtual CWndPaneGetOrderPane (int *pnOrder) noexcept override
 オーダー番号ペインウィンドウ取得関数 [詳解]
 
virtual bool DeleteChildWindow (CWndPane *pcChild) noexcept override
 子ウィンドウ削除関数 [詳解]
 
virtual bool ShowChildAll (bool bShow) noexcept override
 全子ウィンドウ表示関数 [詳解]
 
virtual bool DeleteChildAll () noexcept override
 全子ウィンドウ削除関数 [詳解]
 
virtual bool UpdateClientRectAll () noexcept override
 全ウィンドウクライアント領域更新関数 [詳解]
 
virtual bool ExecMenuCommand (WORD wId, WORD wCode, HWND hCtrl) noexcept override
 メニューコマンド実行関数 [詳解]
 
virtual HMENU CreateContextMenu () noexcept override
 コンテキストメニュー作成関数 [詳解]
 
virtual bool AppendDebugMenu (HMENU hMenu) noexcept override
 デバッグメニュー追加関数 [詳解]
 
virtual bool AppendShowDeleteMenu (HMENU hMenu) noexcept override
 表示削除メニュー追加関数 [詳解]
 
virtual bool GetPartitionClientRect (RECT &rsRect) noexcept override
 パーティション表示クライアント領域取得関数 [詳解]
 
virtual bool ShowDebugInfo () noexcept
 デバッグ情報表示関数 [詳解]
 
virtual bool AppendNewOverlapWindow () noexcept
 新規オーバーラップウィンドウ追加関数 [詳解]
 
virtual bool AppendNewFloatingWindow () noexcept
 新規フローティングウィンドウ追加関数 [詳解]
 
virtual bool DockingToFloating (HWND hWnd) noexcept
 ドッキングウィンドウフローティング表示関数 [詳解]
 
virtual bool FloatingToDocking (HWND hWnd) noexcept
 フローティングウィンドウドッキング表示関数 [詳解]
 
virtual bool AppendCommonDebugMenu (HMENU hMenu) noexcept
 共通デバッグメニュー追加関数 [詳解]
 
virtual bool UpdateMenuBar () noexcept
 メニューバー更新関数 [詳解]
 
virtual bool AppendMainMenu (HMENU hMenu) noexcept
 メインメニュー追加関数 [詳解]
 
virtual bool CreateAccel () noexcept
 アクセラレータテーブル作成関数 [詳解]
 
virtual bool CreateToolBar () noexcept
 ツールバー作成関数 [詳解]
 
virtual bool UpdateToolBar () noexcept
 ツールバー更新関数 [詳解]
 
virtual bool CreateIconImageList () noexcept
 アイコンイメージリスト作成関数 [詳解]
 
virtual bool CreateToolBarButtonList () noexcept
 ツールバーボタンリスト作成関数 [詳解]
 
virtual bool CreateStatusBar () noexcept
 ステータスバー作成関数 [詳解]
 
virtual bool UpdateStatusBar () noexcept
 ステータスバー更新関数 [詳解]
 
virtual bool CreateSeparator () noexcept
 セパレータ作成関数 [詳解]
 
virtual bool DrawSeparator (LPDRAWITEMSTRUCT lpDraw) noexcept
 セパレータ描画関数 [詳解]
 
virtual bool Run () noexcept
 ウィンドウアプリケーション実行関数 [詳解]
 
virtual bool InitFrame () noexcept
 フレーム管理初期化関数 [詳解]
 
virtual bool StartFrame () noexcept
 フレーム開始関数 [詳解]
 
virtual bool EndFrame () noexcept
 フレーム終了関数 [詳解]
 
virtual bool IdleCallBackProc () noexcept
 アイドル処理コールバック関数 [詳解]
 
- 基底クラス LibWindow::CWndOverlap に属する継承公開メンバ関数
 CWndOverlap () noexcept
 コンストラクタ [詳解]
 
virtual ~CWndOverlap () noexcept
 デストラクタ [詳解]
 
virtual CWndDocumentTabGetDocumentTab () noexcept override
 ドキュメントタブウィンドウ取得関数 [詳解]
 
virtual DWORD GetCreateStyle () noexcept override
 ウィンドウ作成スタイル取得関数 [詳解]
 
virtual int GetCreateLeft () noexcept override
 ウィンドウ作成ウィンドウ左座標取得関数 [詳解]
 
virtual int GetCreateTop () noexcept override
 ウィンドウ作成ウィンドウ上座標取得関数 [詳解]
 
virtual int GetCreateWidth () noexcept override
 ウィンドウ作成ウィンドウ水平サイズ取得関数 [詳解]
 
virtual int GetCreateHeight () noexcept override
 ウィンドウ作成ウィンドウ垂直サイズ取得関数 [詳解]
 
virtual LRESULT WmGetMinMaxInfo () noexcept override
 各種メッセージ処理関数 [詳解]
 
virtual int GetMinWidth () noexcept override
 最小水平サイズ取得関数 [詳解]
 
virtual int GetMinHeight () noexcept override
 最小垂直サイズ取得関数 [詳解]
 
- 基底クラス LibWindow::CWndPartition に属する継承公開メンバ関数
 CWndPartition (CWndElement *(*pfnCreateElement)(), wchar_t const *pszElementName) noexcept
 コンストラクタ [詳解]
 
virtual ~CWndPartition () noexcept
 デストラクタ [詳解]
 
virtual bool IsPartition () const noexcept override
 パーティションウィンドウ判別関数 [詳解]
 
virtual LRESULT WmSetCursor () noexcept override
 
virtual LRESULT StnClicked () noexcept override
 
virtual LRESULT WmLButtonUp () noexcept override
 
virtual LRESULT WmKeyDown () noexcept override
 
virtual LRESULT WmMouseMove () noexcept override
 
virtual bool CanDeleteChildWindow (CWndPane *pcChild) noexcept override
 子ウィンドウ削除可能状態取得関数 [詳解]
 
virtual bool GetPaintRect (RECT &rsRect) noexcept override
 クライアント描画領域取得関数 [詳解]
 
virtual bool GetMinSize (SIZE &rsSizen, int nStart=0) noexcept
 最小サイズ取得関数 [詳解]
 
virtual bool GetMinPartitionSize (SIZE &rsSize) noexcept
 最小パーティション表示領域サイズ取得関数 [詳解]
 
virtual EPartitionPos GetPartitionPos (CWndElement *pcElement) noexcept
 パーティション配置位置取得関数 [詳解]
 
virtual bool BeginMoveSizeBar (CWndElement *pcElement) noexcept
 サイズバー移動開始関数 [詳解]
 
virtual bool CancelMoveSizeBar () noexcept
 サイズバー移動中止関数 [詳解]
 
virtual bool MoveSizeBar () noexcept
 サイズバー移動関数 [詳解]
 
virtual bool EndMoveSizeBar () noexcept
 サイズバー移動終了関数 [詳解]
 
virtual bool CreateSizeBarImageControl () noexcept
 サイズバーイメージコントロール作成関数 [詳解]
 
virtual bool DrawSizeBar (LPDRAWITEMSTRUCT lpDraw, EPartitionPos ePos) noexcept
 サイズバーコントロール描画関数 [詳解]
 
- 基底クラス LibWindow::CWndContainer に属する継承公開メンバ関数
 CWndContainer (CWndElement *(*pfnCreateElement)(), wchar_t const *pszElementName) noexcept
 コンストラクタ [詳解]
 
 CWndContainer (CWndContainer &&rcInstance) noexcept
 ムーブコンストラクタ [詳解]
 
virtual ~CWndContainer () noexcept
 デストラクタ [詳解]
 
virtual CWndListGetElementList () noexcept
 エレメントウィンドウリスト取得関数 [詳解]
 
virtual bool AppendNewElementWindow () noexcept
 新規エレメントウィンドウ追加関数 [詳解]
 
- 基底クラス LibWindow::CWndPane に属する継承公開メンバ関数
 CWndPane () noexcept
 コンストラクタ [詳解]
 
 CWndPane (CWndPane &&rcInstance) noexcept
 ムーブコンストラクタ [詳解]
 
virtual ~CWndPane () noexcept
 デストラクタ [詳解]
 
virtual COLORREF GetBackColor () const noexcept
 クライアント描画領域背景色取得関数 [詳解]
 
virtual COLORREF GetTextColor () const noexcept
 クライアント描画領域文字色取得関数 [詳解]
 
virtual COLORREF GetFocusTextColor () const noexcept
 フォーカス所有文字色取得関数 [詳解]
 
virtual COLORREF GetFocusWindowTextColor () const noexcept
 フォーカスウィンドウ文字色取得関数 [詳解]
 
virtual CWndPaneGetPaneWindow (HWND hWnd) const noexcept
 表示フラグ取得関数 [詳解]
 
virtual bool IsShow () noexcept
 表示フラグ取得関数 [詳解]
 
virtual bool SetShow (bool bShow) noexcept
 表示状態設定関数 [詳解]
 
virtual HWND GetSizeBar () const noexcept
 サイズバーコントロール取得関数 [詳解]
 
virtual EPartitionPos GetPartitionPos () const noexcept
 パーティション配置位置取得関数 [詳解]
 
virtual int GetPartitionSize () const noexcept
 パーティションサイズ取得関数 [詳解]
 
virtual bool SetPartitionSize (int nSize) noexcept
 パーティションサイズ設定関数 [詳解]
 
virtual LRESULT WmApp () noexcept override
 各種メッセージ処理関数 [詳解]
 
virtual LRESULT WmPaint () noexcept override
 
virtual LRESULT WmKillFocus () noexcept override
 
virtual LRESULT WmLButtonDown () noexcept override
 
virtual LRESULT WmContextMenu () noexcept override
 
virtual LRESULT WmNotifyChildKillFocus () noexcept
 
virtual LRESULT WmNotifyChildLButtonDown () noexcept
 
virtual CWndPaneGetParentPane () noexcept
 親ペインウィンドウ取得関数 [詳解]
 
virtual CWndPaneGetTopLevelPane () noexcept
 最上位ペインウィンドウ取得関数 [詳解]
 
virtual int GetChildCount () noexcept
 子ペインウィンドウ数取得関数 [詳解]
 
virtual int GetShowChildCount () noexcept
 表示状態子ペインウィンドウ数取得関数 [詳解]
 
virtual int GetHideChildCount () noexcept
 非表示状態子ペインウィンドウ数取得関数 [詳解]
 
virtual int GetHideableChildCount () noexcept
 非表示可能子ペインウィンドウ数取得関数 [詳解]
 
virtual int GetDeletableChildCount () noexcept
 削除可能子ペインウィンドウ数取得関数 [詳解]
 
virtual bool CanHideChildWindow (CWndPane *pcChild) noexcept
 子ウィンドウ非表示可能状態取得関数 [詳解]
 
virtual bool ShowChildWindow (CWndPane *pcChild, bool bShow) noexcept
 子ウィンドウ表示状態設定関数 [詳解]
 
virtual bool UpdateClientRect () noexcept
 クライアント領域更新関数 [詳解]
 
virtual bool DrawPaintRect (HDC hDc, RECT &rsRect) noexcept
 クライアント領域描画関数 [詳解]
 
- 基底クラス LibWindow::CWndBase に属する継承公開メンバ関数
 CWndBase () noexcept
 コンストラクタ [詳解]
 
virtual ~CWndBase () noexcept
 デストラクタ [詳解]
 
virtual HWND & GetHandle () noexcept
 ウィンドウハンドル取得関数 [詳解]
 
virtual UINT & GetMessage () noexcept
 ウィンドウメッセージ取得関数 [詳解]
 
virtual WPARAM & GetWParam () noexcept
 ウィンドウメッセージ第1引数取得関数 [詳解]
 
virtual LPARAM & GetLParam () noexcept
 ウィンドウメッセージ第2引数取得関数 [詳解]
 
virtual bool IsPaneWindow () const noexcept
 ペインウィンドウ判定関数 [詳解]
 
virtual bool Destroy () noexcept
 ウィンドウ破棄関数 [詳解]
 
virtual LPCWSTR GetRegistBaseClassName () noexcept
 ウィンドウクラス登録基底ウィンドウクラス名取得関数 [詳解]
 
virtual LPCWSTR GetRegistClassName () noexcept
 ウィンドウクラス登録クラス名取得関数 [詳解]
 
virtual LPCWSTR GetRegistClassName (CString &rcString) noexcept
 ウィンドウクラス登録クラス名取得関数 [詳解]
 
virtual UINT GetRegistStyle () noexcept
 ウィンドウクラス登録スタイル取得関数 [詳解]
 
virtual WNDPROC GetRegistWndProc () noexcept
 ウィンドウクラス登録コールバック関数取得関数 [詳解]
 
virtual int GetRegistClsExtra () noexcept
 ウィンドウクラス登録クラス拡張サイズ取得関数 [詳解]
 
virtual int GetRegistWndExtra () noexcept
 ウィンドウクラス登録ウィンドウ拡張サイズ取得関数 [詳解]
 
virtual HINSTANCE GetRegistInstance () noexcept
 ウィンドウクラス登録アプリケーションインスタンスハンドル取得関数 [詳解]
 
virtual HICON GetRegistIcon () noexcept
 ウィンドウクラス登録アプリケーションアイコンハンドル取得関数 [詳解]
 
virtual HCURSOR GetRegistCursor () noexcept
 ウィンドウクラス登録カーソルアイコンハンドル取得関数 [詳解]
 
virtual HBRUSH GetRegistBackGround () noexcept
 ウィンドウクラス登録背景ブラシハンドル取得関数 [詳解]
 
virtual LPCWSTR GetRegistMenuName () noexcept
 ウィンドウクラス登録メニュー名取得関数 [詳解]
 
virtual HICON GetRegistIconSm () noexcept
 ウィンドウクラス登録小アプリケーションアイコンハンドル取得関数 [詳解]
 
virtual UINT GetRegistStyle (UINT uStyle) noexcept
 ウィンドウクラス登録スタイル取得関数 [詳解]
 
virtual WNDPROC GetRegistWndProc (WNDPROC pfnWndProc) noexcept
 ウィンドウクラス登録コールバック関数取得関数 [詳解]
 
virtual int GetRegistClsExtra (int nClsExtra) noexcept
 ウィンドウクラス登録クラス拡張サイズ取得関数 [詳解]
 
virtual int GetRegistWndExtra (int nWndExtra) noexcept
 ウィンドウクラス登録ウィンドウ拡張サイズ取得関数 [詳解]
 
virtual HINSTANCE GetRegistInstance (HINSTANCE hInstance) noexcept
 ウィンドウクラス登録アプリケーションインスタンスハンドル取得関数 [詳解]
 
virtual HICON GetRegistIcon (HICON hIcon) noexcept
 ウィンドウクラス登録アプリケーションアイコンハンドル取得関数 [詳解]
 
virtual HCURSOR GetRegistCursor (HCURSOR hCursor) noexcept
 ウィンドウクラス登録カーソルアイコンハンドル取得関数 [詳解]
 
virtual HBRUSH GetRegistBackGround (HBRUSH hBrush) noexcept
 ウィンドウクラス登録背景ブラシハンドル取得関数 [詳解]
 
virtual LPCWSTR GetRegistMenuName (LPCWSTR pszMenuName) noexcept
 ウィンドウクラス登録メニュー名取得関数 [詳解]
 
virtual HICON GetRegistIconSm (HICON hIcon) noexcept
 ウィンドウクラス登録小アプリケーションアイコンハンドル取得関数 [詳解]
 
virtual DWORD GetCreateExStyle () noexcept
 ウィンドウ作成拡張スタイル取得関数 [詳解]
 
virtual LPCWSTR GetCreateClassName () noexcept
 ウィンドウ作成クラス名取得関数 [詳解]
 
virtual LPCWSTR GetCreateWindowName () noexcept
 ウィンドウ作成ウィンドウタイトル取得関数 [詳解]
 
virtual HWND GetCreateParent () noexcept
 ウィンドウ作成親ウィンドウハンドル取得関数 [詳解]
 
virtual HMENU GetCreateMenu () noexcept
 ウィンドウ作成メニューハンドル取得関数 [詳解]
 
virtual HINSTANCE GetCreateInstance () noexcept
 ウィンドウ作成アプリケーションインスタンスハンドル取得関数 [詳解]
 
virtual LPVOID GetCreateParam () noexcept
 ウィンドウ作成ウィンドウ作成データ取得関数 [詳解]
 
virtual LRESULT MessageProc () noexcept
 ウィンドウメッセージ処理関数 [詳解]
 
virtual LRESULT DefaultProc () noexcept
 デフォルトメッセージ処理関数 [詳解]
 
virtual LRESULT WmUser () noexcept
 各種メッセージ処理関数 [詳解]
 
virtual LRESULT WmCreate () noexcept
 
virtual LRESULT WmMove () noexcept
 
virtual LRESULT WmActivate () noexcept
 
virtual LRESULT WmEnable () noexcept
 
virtual LRESULT WmSetRedraw () noexcept
 
virtual LRESULT WmSetText () noexcept
 
virtual LRESULT WmGetText () noexcept
 
virtual LRESULT WmGetTextLength () noexcept
 
virtual LRESULT WmClose () noexcept
 
virtual LRESULT WmQueryEndSession () noexcept
 
virtual LRESULT WmQueryOpen () noexcept
 
virtual LRESULT WmEndSession () noexcept
 
virtual LRESULT WmQuit () noexcept
 
virtual LRESULT WmEraseBkGnd () noexcept
 
virtual LRESULT WmSysColorChange () noexcept
 
virtual LRESULT WmShowWindow () noexcept
 
virtual LRESULT WmWinIniChange () noexcept
 
virtual LRESULT WmDevModeChange () noexcept
 
virtual LRESULT WmActivateApp () noexcept
 
virtual LRESULT WmFontChange () noexcept
 
virtual LRESULT WmTimeChange () noexcept
 
virtual LRESULT WmCancelMode () noexcept
 
virtual LRESULT WmChildActivate () noexcept
 
virtual LRESULT WmQueueSync () noexcept
 
virtual LRESULT WmPaintIcon () noexcept
 
virtual LRESULT WmIconEraseBkGnd () noexcept
 
virtual LRESULT WmNextDlgCtl () noexcept
 
virtual LRESULT WmSpoolerStatus () noexcept
 
virtual LRESULT WmMeasureItem () noexcept
 
virtual LRESULT WmDeleteItem () noexcept
 
virtual LRESULT WmVKeyToItem () noexcept
 
virtual LRESULT WmCharToItem () noexcept
 
virtual LRESULT WmSetFont () noexcept
 
virtual LRESULT WmGetFont () noexcept
 
virtual LRESULT WmSetHotKey () noexcept
 
virtual LRESULT WmGetHotKey () noexcept
 
virtual LRESULT WmQueryDragIcon () noexcept
 
virtual LRESULT WmCompareItem () noexcept
 
virtual LRESULT WmGetObject () noexcept
 
virtual LRESULT WmCompacting () noexcept
 
virtual LRESULT WmCommNotify () noexcept
 
virtual LRESULT WmWindowPosChanging () noexcept
 
virtual LRESULT WmWindowPosChanged () noexcept
 
virtual LRESULT WmPower () noexcept
 
virtual LRESULT WmCopyData () noexcept
 
virtual LRESULT WmCancelJournal () noexcept
 
virtual LRESULT WmNotify () noexcept
 
virtual LRESULT WmInputLangChangeRequest () noexcept
 
virtual LRESULT WmInputLangChange () noexcept
 
virtual LRESULT WmTCard () noexcept
 
virtual LRESULT WmHelp () noexcept
 
virtual LRESULT WmUserChanged () noexcept
 
virtual LRESULT WmNotifyFormat () noexcept
 
virtual LRESULT WmStyleChanging () noexcept
 
virtual LRESULT WmStyleChanged () noexcept
 
virtual LRESULT WmDisplayChange () noexcept
 
virtual LRESULT WmGetIcon () noexcept
 
virtual LRESULT WmSetIcon () noexcept
 
virtual LRESULT WmNcCreate () noexcept
 
virtual LRESULT WmNcDestroy () noexcept
 
virtual LRESULT WmNcCalcSize () noexcept
 
virtual LRESULT WmNcHitTest () noexcept
 
virtual LRESULT WmNcPaint () noexcept
 
virtual LRESULT WmNcActivate () noexcept
 
virtual LRESULT WmGetDlgCode () noexcept
 
virtual LRESULT WmSyncPaint () noexcept
 
virtual LRESULT WmNcMouseMove () noexcept
 
virtual LRESULT WmNcLButtonDown () noexcept
 
virtual LRESULT WmNcLButtonUp () noexcept
 
virtual LRESULT WmNcLButtonDblClk () noexcept
 
virtual LRESULT WmNcRButtonDown () noexcept
 
virtual LRESULT WmNcRButtonUp () noexcept
 
virtual LRESULT WmNcRButtonDblClk () noexcept
 
virtual LRESULT WmNcMButtonDown () noexcept
 
virtual LRESULT WmNcMButtonUp () noexcept
 
virtual LRESULT WmNcMButtonDblClk () noexcept
 
virtual LRESULT WmNcXButtonDown () noexcept
 
virtual LRESULT WmNcXButtonUp () noexcept
 
virtual LRESULT WmNcXButtonDblClk () noexcept
 
virtual LRESULT WmInput () noexcept
 
virtual LRESULT WmKeyUp () noexcept
 
virtual LRESULT WmChar () noexcept
 
virtual LRESULT WmDeadChar () noexcept
 
virtual LRESULT WmSysKeyDown () noexcept
 
virtual LRESULT WmSysKeyUp () noexcept
 
virtual LRESULT WmSysChar () noexcept
 
virtual LRESULT WmSysDeadChar () noexcept
 
virtual LRESULT WmUniChar () noexcept
 
virtual LRESULT WmInitDialog () noexcept
 
virtual LRESULT WmSysCommand () noexcept
 
virtual LRESULT WmTimer () noexcept
 
virtual LRESULT WmHScroll () noexcept
 
virtual LRESULT WmVScroll () noexcept
 
virtual LRESULT WmInitMenu () noexcept
 
virtual LRESULT WmInitMenuPopup () noexcept
 
virtual LRESULT WmMenuChar () noexcept
 
virtual LRESULT WmEnterIdle () noexcept
 
virtual LRESULT WmMenuRButtonUp () noexcept
 
virtual LRESULT WmMenuDrag () noexcept
 
virtual LRESULT WmMenuGetObject () noexcept
 
virtual LRESULT WmUnInitMenuPopup () noexcept
 
virtual LRESULT WmMenuCommand () noexcept
 
virtual LRESULT WmChangeUiState () noexcept
 
virtual LRESULT WmUpdateUiState () noexcept
 
virtual LRESULT WmQueryUiState () noexcept
 
virtual LRESULT WmCtlColorMsgBox () noexcept
 
virtual LRESULT WmCtlColorEdit () noexcept
 
virtual LRESULT WmCtlColorListBox () noexcept
 
virtual LRESULT WmCtlColorBtn () noexcept
 
virtual LRESULT WmCtlColorDlg () noexcept
 
virtual LRESULT WmCtlColorScrollBar () noexcept
 
virtual LRESULT WmCtlColorStatic () noexcept
 
virtual LRESULT MnGetHMenu () noexcept
 
virtual LRESULT WmLButtonDblClk () noexcept
 
virtual LRESULT WmRButtonDown () noexcept
 
virtual LRESULT WmRButtonUp () noexcept
 
virtual LRESULT WmRButtonDblClk () noexcept
 
virtual LRESULT WmMButtonDown () noexcept
 
virtual LRESULT WmMButtonUp () noexcept
 
virtual LRESULT WmMButtonDblClk () noexcept
 
virtual LRESULT WmMouseWheel () noexcept
 
virtual LRESULT WmXButtonDown () noexcept
 
virtual LRESULT WmXButtonUp () noexcept
 
virtual LRESULT WmXButtonDblClk () noexcept
 
virtual LRESULT WmParentNotify () noexcept
 
virtual LRESULT WmEnterMenuLoop () noexcept
 
virtual LRESULT WmNextMenu () noexcept
 
virtual LRESULT WmSizing () noexcept
 
virtual LRESULT WmCaptureChanged () noexcept
 
virtual LRESULT WmMoving () noexcept
 
virtual LRESULT WmPowerBroadcast () noexcept
 
virtual LRESULT WmDeviceChange () noexcept
 
virtual LRESULT WmMdiCreate () noexcept
 
virtual LRESULT WmMdiDestroy () noexcept
 
virtual LRESULT WmMdiActivate () noexcept
 
virtual LRESULT WmMdiRestore () noexcept
 
virtual LRESULT WmMdiNext () noexcept
 
virtual LRESULT WmMdiMaximize () noexcept
 
virtual LRESULT WmMdiTile () noexcept
 
virtual LRESULT WmMdiCascade () noexcept
 
virtual LRESULT WmMdiIconArrange () noexcept
 
virtual LRESULT WmMdiGetActive () noexcept
 
virtual LRESULT WmMdiSetMenu () noexcept
 
virtual LRESULT WmEnterSizeMove () noexcept
 
virtual LRESULT WmExitSizeMove () noexcept
 
virtual LRESULT WmDropFiles () noexcept
 
virtual LRESULT WmMdiRefreshMenu () noexcept
 
virtual LRESULT WmImeKeyDown () noexcept
 
virtual LRESULT WmImeKeyUp () noexcept
 
virtual LRESULT WmMouseHover () noexcept
 
virtual LRESULT WmMouseLeave () noexcept
 
virtual LRESULT WmNcMouseHover () noexcept
 
virtual LRESULT WmNcMouseLeave () noexcept
 
virtual LRESULT WmCut () noexcept
 
virtual LRESULT WmCopy () noexcept
 
virtual LRESULT WmPaste () noexcept
 
virtual LRESULT WmClear () noexcept
 
virtual LRESULT WmUndo () noexcept
 
virtual LRESULT WmRenderFormat () noexcept
 
virtual LRESULT WmRenderAllFormats () noexcept
 
virtual LRESULT WmDestroyClipboard () noexcept
 
virtual LRESULT WmDrawClipboard () noexcept
 
virtual LRESULT WmPaintClipboard () noexcept
 
virtual LRESULT WmVScrollClipboard () noexcept
 
virtual LRESULT WmSizeClipboard () noexcept
 
virtual LRESULT WmAskCbFormatName () noexcept
 
virtual LRESULT WmChangeCbChain () noexcept
 
virtual LRESULT WmHScrollClipboard () noexcept
 
virtual LRESULT WmQueryNewPalette () noexcept
 
virtual LRESULT WmPaletteIsChanging () noexcept
 
virtual LRESULT WmPaletteChanged () noexcept
 
virtual LRESULT WmHotKey () noexcept
 
virtual LRESULT WmPrint () noexcept
 
virtual LRESULT WmPrintClient () noexcept
 
virtual LRESULT WmAppCommand () noexcept
 
virtual LRESULT WmThemeChanged () noexcept
 
virtual LRESULT WmHandHeldFirst () noexcept
 
virtual LRESULT WmHandHeldLast () noexcept
 
virtual LRESULT WmAfxFirst () noexcept
 
virtual LRESULT WmAfxLast () noexcept
 
virtual LRESULT WmPenWinFirst () noexcept
 
virtual LRESULT WmPenWinLast () noexcept
 
virtual LRESULT EmGetSel () noexcept
 
virtual LRESULT EmSetSel () noexcept
 
virtual LRESULT EmGetRect () noexcept
 
virtual LRESULT EmSetRect () noexcept
 
virtual LRESULT EmSetRectNp () noexcept
 
virtual LRESULT EmScroll () noexcept
 
virtual LRESULT EmLineScroll () noexcept
 
virtual LRESULT EmScrollCaret () noexcept
 
virtual LRESULT EmGetModify () noexcept
 
virtual LRESULT EmSetModify () noexcept
 
virtual LRESULT EmGetLineCount () noexcept
 
virtual LRESULT EmLineIndex () noexcept
 
virtual LRESULT EmSetHandle () noexcept
 
virtual LRESULT EmGetHandle () noexcept
 
virtual LRESULT EmGetThumb () noexcept
 
virtual LRESULT EmLineLength () noexcept
 
virtual LRESULT EmReplaceSel () noexcept
 
virtual LRESULT EmGetLine () noexcept
 
virtual LRESULT EmLimitText () noexcept
 
virtual LRESULT EmCanUndo () noexcept
 
virtual LRESULT EmUndo () noexcept
 
virtual LRESULT EmFmtLines () noexcept
 
virtual LRESULT EmLineFromChar () noexcept
 
virtual LRESULT EmSetTabStops () noexcept
 
virtual LRESULT EmSetPasswordChar () noexcept
 
virtual LRESULT EmEmptyUndoBuffer () noexcept
 
virtual LRESULT EmGetFirstVisibleLine () noexcept
 
virtual LRESULT EmSetReadOnly () noexcept
 
virtual LRESULT EmSetWordBreakProc () noexcept
 
virtual LRESULT EmGetWordBreakProc () noexcept
 
virtual LRESULT EmGetPasswordChar () noexcept
 
virtual LRESULT EmSetMargins () noexcept
 
virtual LRESULT EmGetMargins () noexcept
 
virtual LRESULT EmGetLimitText () noexcept
 
virtual LRESULT EmPosFromChar () noexcept
 
virtual LRESULT EmCharFromPos () noexcept
 
virtual LRESULT EmSetImeStatus () noexcept
 
virtual LRESULT EmGetImeStatus () noexcept
 
virtual LRESULT EmSetCueBanner () noexcept
 
virtual LRESULT EmGetCueBanner () noexcept
 
virtual LRESULT EmShowBalloonTip () noexcept
 
virtual LRESULT EmHideBalloonTip () noexcept
 
virtual LRESULT BmGetCheck () noexcept
 
virtual LRESULT BmSetCheck () noexcept
 
virtual LRESULT BmGetState () noexcept
 
virtual LRESULT BmSetState () noexcept
 
virtual LRESULT BmSetStyle () noexcept
 
virtual LRESULT BmClick () noexcept
 
virtual LRESULT BmGetImage () noexcept
 
virtual LRESULT BmSetImage () noexcept
 
virtual LRESULT LbAddString () noexcept
 
virtual LRESULT LbInsertString () noexcept
 
virtual LRESULT LbDeleteString () noexcept
 
virtual LRESULT LbSelItemRangeEx () noexcept
 
virtual LRESULT LbResetContent () noexcept
 
virtual LRESULT LbSetSel () noexcept
 
virtual LRESULT LbSetCurSel () noexcept
 
virtual LRESULT LbGetSel () noexcept
 
virtual LRESULT LbGetCurSel () noexcept
 
virtual LRESULT LbGetText () noexcept
 
virtual LRESULT LbGetTextLen () noexcept
 
virtual LRESULT LbGetCount () noexcept
 
virtual LRESULT LbSelectString () noexcept
 
virtual LRESULT LbDir () noexcept
 
virtual LRESULT LbGetTopIndex () noexcept
 
virtual LRESULT LbFindString () noexcept
 
virtual LRESULT LbGetSelCount () noexcept
 
virtual LRESULT LbGetSelItems () noexcept
 
virtual LRESULT LbSetTabStops () noexcept
 
virtual LRESULT LbGetHorizontalExtent () noexcept
 
virtual LRESULT LbSetHorizontalExtent () noexcept
 
virtual LRESULT LbSetColumnWidth () noexcept
 
virtual LRESULT LbAddFile () noexcept
 
virtual LRESULT LbSetTopIndex () noexcept
 
virtual LRESULT LbGetItemRect () noexcept
 
virtual LRESULT LbGetItemData () noexcept
 
virtual LRESULT LbSetItemData () noexcept
 
virtual LRESULT LbSelItemRange () noexcept
 
virtual LRESULT LbSetAnchorIndex () noexcept
 
virtual LRESULT LbGetAnchorIndex () noexcept
 
virtual LRESULT LbSetCaretIndex () noexcept
 
virtual LRESULT LbGetCaretIndex () noexcept
 
virtual LRESULT LbSetItemHeight () noexcept
 
virtual LRESULT LbGetItemHeight () noexcept
 
virtual LRESULT LbFindStringExact () noexcept
 
virtual LRESULT LbSetLocale () noexcept
 
virtual LRESULT LbGetLocale () noexcept
 
virtual LRESULT LbSetCount () noexcept
 
virtual LRESULT LbInitStorage () noexcept
 
virtual LRESULT LbItemFromPoint () noexcept
 
virtual LRESULT LbGetListBoxInfo () noexcept
 
virtual LRESULT LbMsgMax () noexcept
 
virtual LRESULT CbGetEditSel () noexcept
 
virtual LRESULT CbLimitText () noexcept
 
virtual LRESULT CbSetEditSel () noexcept
 
virtual LRESULT CbAddString () noexcept
 
virtual LRESULT CbDeleteString () noexcept
 
virtual LRESULT CbDir () noexcept
 
virtual LRESULT CbGetCount () noexcept
 
virtual LRESULT CbGetCurSel () noexcept
 
virtual LRESULT CbGetLbText () noexcept
 
virtual LRESULT CbGetLbTextLen () noexcept
 
virtual LRESULT CbInsertString () noexcept
 
virtual LRESULT CbResetContent () noexcept
 
virtual LRESULT CbFindString () noexcept
 
virtual LRESULT CbSelectString () noexcept
 
virtual LRESULT CbSetCurSel () noexcept
 
virtual LRESULT CbShowDropDown () noexcept
 
virtual LRESULT CbGetItemData () noexcept
 
virtual LRESULT CbSetItemData () noexcept
 
virtual LRESULT CbGetDroppedControlRect () noexcept
 
virtual LRESULT CbSetItemHeight () noexcept
 
virtual LRESULT CbGetItemHeight () noexcept
 
virtual LRESULT CbSetExtendedUi () noexcept
 
virtual LRESULT CbGetExtendedUi () noexcept
 
virtual LRESULT CbGetDroppedState () noexcept
 
virtual LRESULT CbFindStringExact () noexcept
 
virtual LRESULT CbSetLocale () noexcept
 
virtual LRESULT CbGetLocale () noexcept
 
virtual LRESULT CbGetTopIndex () noexcept
 
virtual LRESULT CbSetTopIndex () noexcept
 
virtual LRESULT CbGetHorizontalExtent () noexcept
 
virtual LRESULT CbSetHorizontalExtent () noexcept
 
virtual LRESULT CbGetDroppedWidth () noexcept
 
virtual LRESULT CbSetDroppedWidth () noexcept
 
virtual LRESULT CbInitStorage () noexcept
 
virtual LRESULT CbGetComboBoxInfo () noexcept
 
virtual LRESULT CbMsgMax () noexcept
 
virtual LRESULT CbSetMinVisible () noexcept
 
virtual LRESULT CbGetMinVisible () noexcept
 
virtual LRESULT DmGetDefId () noexcept
 
virtual LRESULT DmSetDefId () noexcept
 
virtual LRESULT DmReposition () noexcept
 
virtual LRESULT SbmSetPos () noexcept
 
virtual LRESULT SbmGetPos () noexcept
 
virtual LRESULT SbmSetRange () noexcept
 
virtual LRESULT SbmSetRangeRedraw () noexcept
 
virtual LRESULT SbmGetRange () noexcept
 
virtual LRESULT SbmSetScrollInfo () noexcept
 
virtual LRESULT SbmGetScrollInfo () noexcept
 
virtual LRESULT SbmGetScrollBarInfo () noexcept
 
virtual LRESULT StmSetIcon () noexcept
 
virtual LRESULT StmGetIcon () noexcept
 
virtual LRESULT StmSetImage () noexcept
 
virtual LRESULT StmGetImage () noexcept
 
virtual LRESULT StmMsgMax () noexcept
 
virtual LRESULT LvmGetBkColor () noexcept
 
virtual LRESULT LvmSetBkColor () noexcept
 
virtual LRESULT LvmGetImageList () noexcept
 
virtual LRESULT LvmSetImageList () noexcept
 
virtual LRESULT LvmGetItemCount () noexcept
 
virtual LRESULT LvmGetItem () noexcept
 
virtual LRESULT LvmSetItem () noexcept
 
virtual LRESULT LvmInsertItem () noexcept
 
virtual LRESULT LvmDeleteItem () noexcept
 
virtual LRESULT LvmDeleteAllItems () noexcept
 
virtual LRESULT LvmGetCallbackMask () noexcept
 
virtual LRESULT LvmSetCallbackMask () noexcept
 
virtual LRESULT LvmGetNextItem () noexcept
 
virtual LRESULT LvmFindItem () noexcept
 
virtual LRESULT LvmGetItemRect () noexcept
 
virtual LRESULT LvmSetItemPosition () noexcept
 
virtual LRESULT LvmGetItemPosition () noexcept
 
virtual LRESULT LvmGetStringWidth () noexcept
 
virtual LRESULT LvmHitTest () noexcept
 
virtual LRESULT LvmEnsureVisible () noexcept
 
virtual LRESULT LvmScroll () noexcept
 
virtual LRESULT LvmRedrawItems () noexcept
 
virtual LRESULT LvmArrange () noexcept
 
virtual LRESULT LvmEditLabel () noexcept
 
virtual LRESULT LvmGetEditControl () noexcept
 
virtual LRESULT LvmGetColumn () noexcept
 
virtual LRESULT LvmSetColumn () noexcept
 
virtual LRESULT LvmInsertColumn () noexcept
 
virtual LRESULT LvmDeleteColumn () noexcept
 
virtual LRESULT LvmGetColumnWidth () noexcept
 
virtual LRESULT LvmSetColumnWidth () noexcept
 
virtual LRESULT LvmGetHeader () noexcept
 
virtual LRESULT LvmCreateDragImage () noexcept
 
virtual LRESULT LvmGetViewRect () noexcept
 
virtual LRESULT LvmGetTextColor () noexcept
 
virtual LRESULT LvmSetTextColor () noexcept
 
virtual LRESULT LvmGetTextBkColor () noexcept
 
virtual LRESULT LvmSetTextBkColor () noexcept
 
virtual LRESULT LvmGetTopIndex () noexcept
 
virtual LRESULT LvmGetCountPerPage () noexcept
 
virtual LRESULT LvmGetOrigin () noexcept
 
virtual LRESULT LvmUpdate () noexcept
 
virtual LRESULT LvmSetItemState () noexcept
 
virtual LRESULT LvmGetItemState () noexcept
 
virtual LRESULT LvmGetItemText () noexcept
 
virtual LRESULT LvmSetItemText () noexcept
 
virtual LRESULT LvmSetItemCount () noexcept
 
virtual LRESULT LvmSortItems () noexcept
 
virtual LRESULT LvmSetItemPosition32 () noexcept
 
virtual LRESULT LvmGetSelectedCount () noexcept
 
virtual LRESULT LvmGetItemSpacing () noexcept
 
virtual LRESULT LvmGetIsearchString () noexcept
 
virtual LRESULT LvmSetIconSpacing () noexcept
 
virtual LRESULT LvmSetExtendedListViewStyle () noexcept
 
virtual LRESULT LvmGetExtendedListViewStyle () noexcept
 
virtual LRESULT LvmGetSubItemRect () noexcept
 
virtual LRESULT LvmSubItemHitTest () noexcept
 
virtual LRESULT LvmSetColumnOrderArray () noexcept
 
virtual LRESULT LvmGetColumnOrderArray () noexcept
 
virtual LRESULT LvmSetHotItem () noexcept
 
virtual LRESULT LvmGetHotItem () noexcept
 
virtual LRESULT LvmSetHotCursor () noexcept
 
virtual LRESULT LvmGetHotCursor () noexcept
 
virtual LRESULT LvmApproximateViewRect () noexcept
 
virtual LRESULT LvmSetWorkAreas () noexcept
 
virtual LRESULT LvmGetWorkAreas () noexcept
 
virtual LRESULT LvmGetNumberOfWorkAreas () noexcept
 
virtual LRESULT LvmGetSelectionMark () noexcept
 
virtual LRESULT LvmSetSelectionMark () noexcept
 
virtual LRESULT LvmSetHoverTime () noexcept
 
virtual LRESULT LvmGetHoverTime () noexcept
 
virtual LRESULT LvmSetToolTips () noexcept
 
virtual LRESULT LvmGetToolTips () noexcept
 
virtual LRESULT LvmSortItemsEx () noexcept
 
virtual LRESULT LvmSetBkImage () noexcept
 
virtual LRESULT LvmGetBkImage () noexcept
 
virtual LRESULT LvmSetSelectedColumn () noexcept
 
virtual LRESULT LvmSetView () noexcept
 
virtual LRESULT LvmGetView () noexcept
 
virtual LRESULT LvmInsertGroup () noexcept
 
virtual LRESULT LvmSetGroupInfo () noexcept
 
virtual LRESULT LvmGetGroupInfo () noexcept
 
virtual LRESULT LvmRemoveGroup () noexcept
 
virtual LRESULT LvmMoveGroup () noexcept
 
virtual LRESULT LvmMoveItemToGroup () noexcept
 
virtual LRESULT LvmSetGroupMetrics () noexcept
 
virtual LRESULT LvmGetGroupMetrics () noexcept
 
virtual LRESULT LvmEnableGroupView () noexcept
 
virtual LRESULT LvmSortGroups () noexcept
 
virtual LRESULT LvmInsertGroupSorted () noexcept
 
virtual LRESULT LvmRemoveAllGroups () noexcept
 
virtual LRESULT LvmHasGroup () noexcept
 
virtual LRESULT LvmSetTileViewInfo () noexcept
 
virtual LRESULT LvmGetTileViewInfo () noexcept
 
virtual LRESULT LvmSetTileInfo () noexcept
 
virtual LRESULT LvmGetTileInfo () noexcept
 
virtual LRESULT LvmSetInsertMark () noexcept
 
virtual LRESULT LvmGetInsertMark () noexcept
 
virtual LRESULT LvmInsertMarkHitTest () noexcept
 
virtual LRESULT LvmGetInsertMarkRect () noexcept
 
virtual LRESULT LvmSetInsertMarkColor () noexcept
 
virtual LRESULT LvmGetInsertMarkColor () noexcept
 
virtual LRESULT LvmSetInfoTip () noexcept
 
virtual LRESULT LvmGetSelectedColumn () noexcept
 
virtual LRESULT LvmIsGroupViewEnabled () noexcept
 
virtual LRESULT LvmGetOutLineColor () noexcept
 
virtual LRESULT LvmSetOutLineColor () noexcept
 
virtual LRESULT LvmCanceledItLabel () noexcept
 
virtual LRESULT LvmMapIndexToId () noexcept
 
virtual LRESULT LvmMapIdToIndex () noexcept
 
virtual LRESULT TvmInsertItem () noexcept
 
virtual LRESULT TvmDeleteItem () noexcept
 
virtual LRESULT TvmExpand () noexcept
 
virtual LRESULT TvmGetItemRect () noexcept
 
virtual LRESULT TvmGetCount () noexcept
 
virtual LRESULT TvmGetIndent () noexcept
 
virtual LRESULT TvmSetIndent () noexcept
 
virtual LRESULT TvmGetImageList () noexcept
 
virtual LRESULT TvmSetImageList () noexcept
 
virtual LRESULT TvmGetNextItem () noexcept
 
virtual LRESULT TvmSelectItem () noexcept
 
virtual LRESULT TvmGetItem () noexcept
 
virtual LRESULT TvmSetItem () noexcept
 
virtual LRESULT TvmEditLabel () noexcept
 
virtual LRESULT TvmGetEditControl () noexcept
 
virtual LRESULT TvmGetVisibleCount () noexcept
 
virtual LRESULT TvmHitTest () noexcept
 
virtual LRESULT TvmCreateDragImage () noexcept
 
virtual LRESULT TvmSortChildren () noexcept
 
virtual LRESULT TvmEnsureVisible () noexcept
 
virtual LRESULT TvmSortChildrenCb () noexcept
 
virtual LRESULT TvmEndEditLabelNow () noexcept
 
virtual LRESULT TvmGetIsEarchString () noexcept
 
virtual LRESULT TvmSetToolTips () noexcept
 
virtual LRESULT TvmGetToolTips () noexcept
 
virtual LRESULT TvmSetInsertMark () noexcept
 
virtual LRESULT TvmSetItemHeight () noexcept
 
virtual LRESULT TvmGetItemHeight () noexcept
 
virtual LRESULT TvmSetBkColor () noexcept
 
virtual LRESULT TvmSetTextColor () noexcept
 
virtual LRESULT TvmGetBkColor () noexcept
 
virtual LRESULT TvmGetTextColor () noexcept
 
virtual LRESULT TvmSetScrollTime () noexcept
 
virtual LRESULT TvmGetScrollTime () noexcept
 
virtual LRESULT TvmSetInsertMarkColor () noexcept
 
virtual LRESULT TvmGetInsertMarkColor () noexcept
 
virtual LRESULT TvmGetItemState () noexcept
 
virtual LRESULT TvmSetLineColor () noexcept
 
virtual LRESULT TvmGetLineColor () noexcept
 
virtual LRESULT TvmMapAccidToHtreeItem () noexcept
 
virtual LRESULT TvmMapHtreeItemToAccid () noexcept
 
virtual LRESULT HdmGetItemCount () noexcept
 
virtual LRESULT HdmInsertItem () noexcept
 
virtual LRESULT HdmDeleteItem () noexcept
 
virtual LRESULT HdmGetItem () noexcept
 
virtual LRESULT HdmSetItem () noexcept
 
virtual LRESULT HdmLayout () noexcept
 
virtual LRESULT HdmHitTest () noexcept
 
virtual LRESULT HdmGetItemRect () noexcept
 
virtual LRESULT HdmSetImageList () noexcept
 
virtual LRESULT HdmGetImageList () noexcept
 
virtual LRESULT HdmOrderToIndex () noexcept
 
virtual LRESULT HdmCreateDragImage () noexcept
 
virtual LRESULT HdmGetOrderArray () noexcept
 
virtual LRESULT HdmSetOrderArray () noexcept
 
virtual LRESULT HdmSetHotDivider () noexcept
 
virtual LRESULT HdmSetBitmapMargin () noexcept
 
virtual LRESULT HdmGetBitmapMargin () noexcept
 
virtual LRESULT HdmSetFilterChangeTimeout () noexcept
 
virtual LRESULT HdmEditFilter () noexcept
 
virtual LRESULT HdmClearFilter () noexcept
 
virtual LRESULT TcmGetImageList () noexcept
 
virtual LRESULT TcmSetImageList () noexcept
 
virtual LRESULT TcmGetItemCount () noexcept
 
virtual LRESULT TcmGetItem () noexcept
 
virtual LRESULT TcmSetItem () noexcept
 
virtual LRESULT TcmInsertItem () noexcept
 
virtual LRESULT TcmDeleteItem () noexcept
 
virtual LRESULT TcmDeleteAllItems () noexcept
 
virtual LRESULT TcmGetItemRect () noexcept
 
virtual LRESULT TcmGetCurSel () noexcept
 
virtual LRESULT TcmSetCurSel () noexcept
 
virtual LRESULT TcmHitTest () noexcept
 
virtual LRESULT TcmSetItemExtra () noexcept
 
virtual LRESULT TcmAdjustRect () noexcept
 
virtual LRESULT TcmSetItemSize () noexcept
 
virtual LRESULT TcmRemoveImage () noexcept
 
virtual LRESULT TcmSetPadding () noexcept
 
virtual LRESULT TcmGetRowCount () noexcept
 
virtual LRESULT TcmGetToolTips () noexcept
 
virtual LRESULT TcmSetToolTips () noexcept
 
virtual LRESULT TcmGetCurFocus () noexcept
 
virtual LRESULT TcmSetCurFocus () noexcept
 
virtual LRESULT TcmSetMinTabWidth () noexcept
 
virtual LRESULT TcmDeselectAll () noexcept
 
virtual LRESULT TcmHighlightItem () noexcept
 
virtual LRESULT TcmSetExtendedStyle () noexcept
 
virtual LRESULT TcmGetExtendedStyle () noexcept
 
virtual LRESULT PgmSetChild () noexcept
 
virtual LRESULT PgmRecalcSize () noexcept
 
virtual LRESULT PgmForwardMouse () noexcept
 
virtual LRESULT PgmSetBkColor () noexcept
 
virtual LRESULT PgmGetBkColor () noexcept
 
virtual LRESULT PgmSetBorder () noexcept
 
virtual LRESULT PgmGetBorder () noexcept
 
virtual LRESULT PgmSetPos () noexcept
 
virtual LRESULT PgmGetPos () noexcept
 
virtual LRESULT PgmSetButtonSize () noexcept
 
virtual LRESULT PgmGetButtonSize () noexcept
 
virtual LRESULT PgmGetButtonState () noexcept
 
virtual LRESULT BcmGetIdealSize () noexcept
 
virtual LRESULT BcmSetImageList () noexcept
 
virtual LRESULT BcmGetImageList () noexcept
 
virtual LRESULT BcmSetTextMargin () noexcept
 
virtual LRESULT BcmGetTextMargin () noexcept
 
virtual LRESULT CcmSetBkColor () noexcept
 
virtual LRESULT CcmSetColorScheme () noexcept
 
virtual LRESULT CcmGetColorScheme () noexcept
 
virtual LRESULT CcmGetDropTarget () noexcept
 
virtual LRESULT CcmSetUnicodeFormat () noexcept
 
virtual LRESULT CcmGetUnicodeFormat () noexcept
 
virtual LRESULT CcmSetVersion () noexcept
 
virtual LRESULT CcmGetVersion () noexcept
 
virtual LRESULT CcmSetNotifyWindow () noexcept
 
virtual LRESULT CcmSetWindowTheme () noexcept
 
virtual LRESULT CcmDpiScale () noexcept
 
virtual LRESULT EnMsgFilter () noexcept
 
virtual LRESULT EnRequestResize () noexcept
 
virtual LRESULT EnSelChange () noexcept
 
virtual LRESULT EnDropFiles () noexcept
 
virtual LRESULT EnProtected () noexcept
 
virtual LRESULT EnCorrectText () noexcept
 
virtual LRESULT EnStopNoUndo () noexcept
 
virtual LRESULT EnImeChange () noexcept
 
virtual LRESULT EnSaveClipboard () noexcept
 
virtual LRESULT EnOleOpFailed () noexcept
 
virtual LRESULT EnObjectPositions () noexcept
 
virtual LRESULT EnLink () noexcept
 
virtual LRESULT EnDragDropDone () noexcept
 
virtual LRESULT EnParagraphExpanded () noexcept
 
virtual LRESULT EnPageChange () noexcept
 
virtual LRESULT EnLowFiRtf () noexcept
 
virtual LRESULT EnAlignLtr () noexcept
 
virtual LRESULT EnAlignRtl () noexcept
 
virtual LRESULT LvnItemChanging () noexcept
 
virtual LRESULT LvnItemChanged () noexcept
 
virtual LRESULT LvnInsertItem () noexcept
 
virtual LRESULT LvnDeleteItem () noexcept
 
virtual LRESULT LvnDeleteallItems () noexcept
 
virtual LRESULT LvnBeginLabelEdit () noexcept
 
virtual LRESULT LvnEndLabelEdit () noexcept
 
virtual LRESULT LvnColumnClick () noexcept
 
virtual LRESULT LvnBeginDrag () noexcept
 
virtual LRESULT LvnBeginrDrag () noexcept
 
virtual LRESULT LvnOdCacheHint () noexcept
 
virtual LRESULT LvnOdFindItem () noexcept
 
virtual LRESULT LvnItemActivate () noexcept
 
virtual LRESULT LvnOdStateChanged () noexcept
 
virtual LRESULT LvnHotTrack () noexcept
 
virtual LRESULT LvnGetDispInfo () noexcept
 
virtual LRESULT LvnSetDispInfo () noexcept
 
virtual LRESULT LvnKeyDown () noexcept
 
virtual LRESULT LvnMarqueeBegin () noexcept
 
virtual LRESULT LvnGetInfoTip () noexcept
 
virtual LRESULT LvnBeginScroll () noexcept
 
virtual LRESULT LvnEndScroll () noexcept
 
virtual LRESULT HdnItemChanging () noexcept
 
virtual LRESULT HdnItemChanged () noexcept
 
virtual LRESULT HdnItemClick () noexcept
 
virtual LRESULT HdnItemDblClick () noexcept
 
virtual LRESULT HdnDividerDblClick () noexcept
 
virtual LRESULT HdnBeginTrack () noexcept
 
virtual LRESULT HdnEndTrack () noexcept
 
virtual LRESULT HdnTrack () noexcept
 
virtual LRESULT HdnGetDispInfo () noexcept
 
virtual LRESULT HdnBeginDrag () noexcept
 
virtual LRESULT HdnEndDrag () noexcept
 
virtual LRESULT HdnFilterChange () noexcept
 
virtual LRESULT HdnFilterBtnClick () noexcept
 
virtual LRESULT TvnSelChanging () noexcept
 
virtual LRESULT TvnSelChanged () noexcept
 
virtual LRESULT TvnGetDispInfo () noexcept
 
virtual LRESULT TvnSetDispInfo () noexcept
 
virtual LRESULT TvnItemExpanding () noexcept
 
virtual LRESULT TvnItemExpanded () noexcept
 
virtual LRESULT TvnBeginDrag () noexcept
 
virtual LRESULT TvnBeginrDrag () noexcept
 
virtual LRESULT TvnDeleteItem () noexcept
 
virtual LRESULT TvnBeginLabelEdit () noexcept
 
virtual LRESULT TvnEndLabelEdit () noexcept
 
virtual LRESULT TvnKeyDown () noexcept
 
virtual LRESULT TvnGetInfoTip () noexcept
 
virtual LRESULT TvnSingleExpand () noexcept
 
virtual LRESULT TtnGetDispInfo () noexcept
 
virtual LRESULT TtnShow () noexcept
 
virtual LRESULT TtnPop () noexcept
 
virtual LRESULT TtnLinkClick () noexcept
 
virtual LRESULT TcnKeyDown () noexcept
 
virtual LRESULT TcnSelChange () noexcept
 
virtual LRESULT TcnSelChanging () noexcept
 
virtual LRESULT TcnGetObject () noexcept
 
virtual LRESULT TcnFocusChange () noexcept
 
virtual LRESULT TbnGetButtonInfo () noexcept
 
virtual LRESULT TbnBeginDrag () noexcept
 
virtual LRESULT TbnEndDrag () noexcept
 
virtual LRESULT TbnBeginAdjust () noexcept
 
virtual LRESULT TbnEndAdjust () noexcept
 
virtual LRESULT TbnReset () noexcept
 
virtual LRESULT TbnQueryInsert () noexcept
 
virtual LRESULT TbnQueryDelete () noexcept
 
virtual LRESULT TbnToolbarChange () noexcept
 
virtual LRESULT TbnCustHelp () noexcept
 
virtual LRESULT TbnDropDown () noexcept
 
virtual LRESULT TbnGetObject () noexcept
 
virtual LRESULT TbnHotItemChange () noexcept
 
virtual LRESULT TbnDragOut () noexcept
 
virtual LRESULT TbnDeletingButton () noexcept
 
virtual LRESULT TbnGetDispInfo () noexcept
 
virtual LRESULT TbnGetInfotip () noexcept
 
virtual LRESULT TbnRestore () noexcept
 
virtual LRESULT TbnSave () noexcept
 
virtual LRESULT TbnInitCustomize () noexcept
 
virtual LRESULT UdnDeltaPos () noexcept
 
virtual LRESULT McnSelChange () noexcept
 
virtual LRESULT McnGetDayState () noexcept
 
virtual LRESULT McnSelect () noexcept
 
virtual LRESULT DtnDateTimeChange () noexcept
 
virtual LRESULT DtnUserString () noexcept
 
virtual LRESULT DtnWmKeyDown () noexcept
 
virtual LRESULT DtnFormat () noexcept
 
virtual LRESULT DtnFormatQuery () noexcept
 
virtual LRESULT DtnDropDown () noexcept
 
virtual LRESULT DtnCloseUp () noexcept
 
virtual LRESULT RbnHeightChange () noexcept
 
virtual LRESULT RbnGetObject () noexcept
 
virtual LRESULT RbnLayoutChanged () noexcept
 
virtual LRESULT RbnAutoSize () noexcept
 
virtual LRESULT RbnBeginDrag () noexcept
 
virtual LRESULT RbnEndDrag () noexcept
 
virtual LRESULT RbnDeletingBand () noexcept
 
virtual LRESULT RbnDeletedBand () noexcept
 
virtual LRESULT RbnChildSize () noexcept
 
virtual LRESULT RbnChevronPushed () noexcept
 
virtual LRESULT RbnMinMax () noexcept
 
virtual LRESULT RbnAutoBreak () noexcept
 
virtual LRESULT IpnFieldChanged () noexcept
 
virtual LRESULT SbnSimpleModeChange () noexcept
 
virtual LRESULT PgnScroll () noexcept
 
virtual LRESULT PgnCalcSize () noexcept
 
virtual LRESULT PgnHotItemChange () noexcept
 
virtual LRESULT BcnHotItemChange () noexcept
 
virtual LRESULT CbenGetDispInfo () noexcept
 
virtual LRESULT CbenInsertItem () noexcept
 
virtual LRESULT CbenDeleteItem () noexcept
 
virtual LRESULT CbenBeginEdit () noexcept
 
virtual LRESULT CbenEndEdit () noexcept
 
virtual LRESULT CbenDragBegin () noexcept
 
virtual LRESULT NmOutOfMemory () noexcept
 
virtual LRESULT NmDblClk () noexcept
 
virtual LRESULT NmReturn () noexcept
 
virtual LRESULT NmRClick () noexcept
 
virtual LRESULT NmRDblClk () noexcept
 
virtual LRESULT NmSetFocus () noexcept
 
virtual LRESULT NmKillFocus () noexcept
 
virtual LRESULT NmCustomDraw () noexcept
 
virtual LRESULT NmHover () noexcept
 
virtual LRESULT NmNcHitTest () noexcept
 
virtual LRESULT NmKeyDown () noexcept
 
virtual LRESULT NmReleasedCapture () noexcept
 
virtual LRESULT NmSetCursor () noexcept
 
virtual LRESULT NmChar () noexcept
 
virtual LRESULT NmToolTipsCreated () noexcept
 
virtual LRESULT NmLDown () noexcept
 
virtual LRESULT NmRDown () noexcept
 
virtual LRESULT NmThemeChanged () noexcept
 
virtual LRESULT BnClicked () noexcept
 
virtual LRESULT BnPaint () noexcept
 
virtual LRESULT BnHilite () noexcept
 
virtual LRESULT BnUnHilite () noexcept
 
virtual LRESULT BnDisable () noexcept
 
virtual LRESULT BnDoubleClicked () noexcept
 
virtual LRESULT BnSetFocus () noexcept
 
virtual LRESULT BnKillFocus () noexcept
 
virtual LRESULT BnPushed () noexcept
 
virtual LRESULT BnUnPushed () noexcept
 
virtual LRESULT BnDblClk () noexcept
 
virtual LRESULT EnSetFocus () noexcept
 
virtual LRESULT EnKillFocus () noexcept
 
virtual LRESULT EnChange () noexcept
 
virtual LRESULT EnUpdate () noexcept
 
virtual LRESULT EnErrSpace () noexcept
 
virtual LRESULT EnMaxText () noexcept
 
virtual LRESULT EnHScroll () noexcept
 
virtual LRESULT EnVScroll () noexcept
 
virtual LRESULT LbnErrSpace () noexcept
 
virtual LRESULT LbnSelChange () noexcept
 
virtual LRESULT LbnDblClk () noexcept
 
virtual LRESULT LbnSelCancel () noexcept
 
virtual LRESULT LbnSetFocus () noexcept
 
virtual LRESULT LbnKillFocus () noexcept
 
virtual LRESULT CbnErrSpace () noexcept
 
virtual LRESULT CbnSelChange () noexcept
 
virtual LRESULT CbnDblClk () noexcept
 
virtual LRESULT CbnSetFocus () noexcept
 
virtual LRESULT CbnKillFocus () noexcept
 
virtual LRESULT CbnEditChange () noexcept
 
virtual LRESULT CbnEditUpdate () noexcept
 
virtual LRESULT CbnDropDown () noexcept
 
virtual LRESULT CbnCloseUp () noexcept
 
virtual LRESULT CbnSelEndOk () noexcept
 
virtual LRESULT CbnSelEndCancel () noexcept
 
virtual LRESULT StnDblClk () noexcept
 
virtual LRESULT StnEnable () noexcept
 
virtual LRESULT StnDisable () noexcept
 
virtual LRESULT ScSize () noexcept
 
virtual LRESULT ScMove () noexcept
 
virtual LRESULT ScMinimize () noexcept
 
virtual LRESULT ScMaximize () noexcept
 
virtual LRESULT ScNextWindow () noexcept
 
virtual LRESULT ScPrevWindow () noexcept
 
virtual LRESULT ScClose () noexcept
 
virtual LRESULT ScVScroll () noexcept
 
virtual LRESULT ScHScroll () noexcept
 
virtual LRESULT ScMouseMenu () noexcept
 
virtual LRESULT ScKeyMenu () noexcept
 
virtual LRESULT ScArrange () noexcept
 
virtual LRESULT ScRestore () noexcept
 
virtual LRESULT ScTaskList () noexcept
 
virtual LRESULT ScScreenSave () noexcept
 
virtual LRESULT ScHotKey () noexcept
 
virtual LRESULT ScDefault () noexcept
 
virtual LRESULT ScMonitorPower () noexcept
 
virtual LRESULT ScContextHelp () noexcept
 
virtual LRESULT ScSeparator () noexcept
 
virtual LRESULT TbLineUp () noexcept
 
virtual LRESULT TbLineDown () noexcept
 
virtual LRESULT TbPageUp () noexcept
 
virtual LRESULT TbPageDown () noexcept
 
virtual LRESULT TbThumbPosition () noexcept
 
virtual LRESULT TbThumbTrack () noexcept
 
virtual LRESULT TbTop () noexcept
 
virtual LRESULT TbBottom () noexcept
 
virtual LRESULT TbEndTrack () noexcept
 
virtual LRESULT HsbLineLeft () noexcept
 
virtual LRESULT HsbLineRight () noexcept
 
virtual LRESULT HsbPageLeft () noexcept
 
virtual LRESULT HsbPageRight () noexcept
 
virtual LRESULT HsbThumbPosition () noexcept
 
virtual LRESULT HsbThumbTrack () noexcept
 
virtual LRESULT HsbLeft () noexcept
 
virtual LRESULT HsbRight () noexcept
 
virtual LRESULT HsbEndScroll () noexcept
 
virtual LRESULT VsbLineUp () noexcept
 
virtual LRESULT VsbLineDown () noexcept
 
virtual LRESULT VsbPageUp () noexcept
 
virtual LRESULT VsbPageDown () noexcept
 
virtual LRESULT VsbThumbPosition () noexcept
 
virtual LRESULT VsbThumbTrack () noexcept
 
virtual LRESULT VsbTop () noexcept
 
virtual LRESULT VsbBottom () noexcept
 
virtual LRESULT VsbEndScroll () noexcept
 
virtual LRESULT CommonCtrlProc () noexcept
 コモンコントロールメッセージ処理関数 [詳解]
 
virtual bool SubtractChildRect (HWND hChild, RECT &rsRect) noexcept
 子ウィンドウ表示領域減算関数 [詳解]
 

静的公開メンバ関数

static bool ResumeConfigStatic (CJsonConfig &rcConfig) noexcept
 静的構成情報復元関数 [詳解]
 
static bool SaveConfigStatic (CJsonConfig &rcConfig) noexcept
 静的構成情報保存関数 [詳解]
 
static CWndElementCreateOverlapWindow () noexcept
 オーバーラップウィンドウ作成関数 [詳解]
 
static CWndElementCreateFloatingWindow () noexcept
 フローティングウィンドウ作成関数 [詳解]
 
- 基底クラス LibWindow::CWndOverlap に属する継承静的公開メンバ関数
static CWndElementCreatePartitionWindow () noexcept
 パーティションウィンドウ作成関数 [詳解]
 
- 基底クラス LibWindow::CWndPartition に属する継承静的公開メンバ関数
static HWND CreateSizeBar (HWND hParent) noexcept
 サイズバーコントロール作成関数 [詳解]
 
- 基底クラス LibWindow::CWndBase に属する継承静的公開メンバ関数
static LRESULT CALLBACK WndCallBackProc (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) noexcept
 ウィンドウメッセージコールバック関数 [詳解]
 
static CWndBaseGetBaseWindow (HWND hWnd, bool bStrict=true) noexcept
 基本ウィンドウクラスインスタンス取得関数 [詳解]
 
static bool IsWndClassStrict (HWND hWnd) noexcept
 基本ウィンドウクラス厳密判定関数 [詳解]
 
static bool GetBaseClassName (HWND hWnd, wchar_t *pszBuffer, int nSize) noexcept
 基底ウィンドウクラス名取得関数 [詳解]
 
static HWND GetTopLevelWindow (HWND hWnd) noexcept
 最上位ウィンドウ取得関数 [詳解]
 
static int GetChildWindowCount (HWND hWnd) noexcept
 子ウィンドウ数取得関数 [詳解]
 
static int GetWindowOrder (HWND hWnd) noexcept
 ウィンドウオーダー番号取得関数 [詳解]
 
static BOOL CALLBACK EnumChildCallBack (HWND hWnd, LPARAM lParam) noexcept
 子ウィンドウ列挙コールバック関数 [詳解]
 

限定公開変数類

HMENU m_hMenu
 メニューハンドル [詳解]
 
HACCEL m_hAccel
 アクセラレータテーブルハンドル [詳解]
 
HWND m_hStatusBar
 ステータスバーコントロールハンドル [詳解]
 
HWND m_hSeparator
 セパレータコントロールハンドル [詳解]
 
CWndToolBar m_cToolBar
 ツールバー [詳解]
 
CWndList m_cOverlapList
 オーバーラップウィンドウリスト [詳解]
 
CWndList m_cFloatingList
 フローティングウィンドウリスト [詳解]
 
HIMAGELIST m_hIconImageList
 アイコンイメージリストハンドル [詳解]
 
CArray< SIconImageInfo > * m_pcIconImageList
 アイコンイメージリストポインタ [詳解]
 
CArray< TBBUTTON > * m_pcToolBarButtonList
 ツールバーボタンリストポインタ [詳解]
 
bool m_bFocusOverlap
 オーバーラップウィンドウフォーカス有効フラグ [詳解]
 
bool m_bFocusFloating
 フローティングウィンドウフォーカス有効フラグ [詳解]
 
bool m_bMenuMouseActivate
 メニューマウスアクティベートフラグ [詳解]
 
bool m_bValidMenuSelect
 メニュー項目選択有効フラグ [詳解]
 
bool m_bToolBarMouseActivate
 ツールバーマウスアクティベートフラグ [詳解]
 
bool m_bValidToolBarSelect
 ツールバーボタン選択有効フラグ [詳解]
 
bool m_bPerformanceTimer
 高精度タイマ有効フラグ [詳解]
 
LONGLONG m_nPerformanceFreq
 パフォーマンス周波数 [詳解]
 
LONGLONG m_nPerformanceCount
 パフォーマンスカウント [詳解]
 
LONGLONG m_nSecondCount
 1秒待ちカウント [詳解]
 
LONGLONG m_nErrorCount
 積算誤差カウント [詳解]
 
CTimer m_cFrameWaitTimer
 フレーム更新待機タイマ [詳解]
 
LONGLONG m_nFrameWaitTime
 フレーム更新待機時間 [詳解]
 
int m_nFpsCount
 FPSカウント [詳解]
 
int m_nFpsValue
 FPS測定値 [詳解]
 
int m_nFpsMax
 FPS最大値 [詳解]
 
bool m_bUpdatedFpsValue
 FPS測定値更新フラグ [詳解]
 
CString m_cOtherInfo
 その他の情報文字列 [詳解]
 
- 基底クラス LibWindow::CWndOverlap に属する継承限定公開変数類
CWndDocumentTab m_cDocumentTab
 ドキュメントタブウィンドウ [詳解]
 
- 基底クラス LibWindow::CWndPartition に属する継承限定公開変数類
HWND m_hSizeBarImage
 サイズバーイメージコントロールハンドル [詳解]
 
POINT m_sPoint
 カーソル座標 [詳解]
 
CWndElementm_pcElement
 エレメントウィンドウポインタ [詳解]
 
int m_nSize
 保存パーティションサイズ [詳解]
 
int m_nMinSize
 最小パーティションサイズ [詳解]
 
int m_nMaxSize
 最大パーティションサイズ [詳解]
 
- 基底クラス LibWindow::CWndContainer に属する継承限定公開変数類
CWndList m_cElementList
 エレメントウィンドウリスト [詳解]
 
CWndElement *(* m_pfnCreateElement )()
 新規エレメントウィンドウ作成関数ポインタ [詳解]
 
wchar_t const * m_pszElementName
 エレメントウィンドウ名 [詳解]
 
bool m_bFocusElement
 エレメントウィンドウフォーカス有効フラグ [詳解]
 
- 基底クラス LibWindow::CWndPane に属する継承限定公開変数類
bool m_bShow
 ウィンドウ表示フラグ [詳解]
 
- 基底クラス LibWindow::CWndBase に属する継承限定公開変数類
HWND m_hWnd
 ウィンドウハンドル [詳解]
 
UINT m_uMsg
 メッセージID [詳解]
 
WPARAM m_wParam
 メッセージ第1引数 [詳解]
 
LPARAM m_lParam
 メッセージ第2引数 [詳解]
 
WNDPROC m_lpfnBaseWndProc
 基底ウィンドウクラスウィンドウプロシージャアドレス [詳解]
 

静的限定公開変数類

static int const SEPARATOR_HEIGHT = 1
 セパレータコントロール垂直サイズ [詳解]
 
static COLORREF const COLOR_SEPARATOR = RGB( 182, 188, 204 )
 タブ項目境界色 [詳解]
 
static int const STATUSBAR_PARTS_COUNT = 5
 ステータスバーコントロール分割数 [詳解]
 
static int const STATUSBAR_INDEX_FPS_TITLE = 0
 FPS測定値タイトル表示インデックス [詳解]
 
static int const STATUSBAR_INDEX_FPS_VALUE = 1
 FPS測定値表示インデックス [詳解]
 
static int const STATUSBAR_INDEX_ERROR_TITLE = 2
 積算誤差タイトル表示インデックス [詳解]
 
static int const STATUSBAR_INDEX_ERROR_VALUE = 3
 積算誤差表示インデックス [詳解]
 
static int const STATUSBAR_INDEX_OTHERS = 4
 その他の表示インデックス [詳解]
 
static int const STATUSBAR_INDEX_FPS_WIDTH = 100
 FPS測定値表示幅 [詳解]
 
static int const STATUSBAR_INDEX_ERROR_WIDTH = 100
 積算誤差表示幅 [詳解]
 
static int const FPS_MAX = 60
 FPS最大値デフォルト値 [詳解]
 
static wchar_t const *const PATH_ICON_IMAGE = ( _SOLUTION_DIR L"Image\\" )
 アイコンイメージファイルディレクトリ文字列 [詳解]
 
static wchar_t const *const STATUSBAR_TITLE_FPS = L"FPS "
 ステータスバーFPSタイトル文字列 [詳解]
 
static wchar_t const *const STATUSBAR_TITLE_ERROR = L"積算誤差 "
 ステータスバー積算誤差タイトル文字列 [詳解]
 
static wchar_t const *const STATUSBAR_OTHERS = L"その他の情報"
 ステータスバーその他の情報初期値文字列 [詳解]
 
static wchar_t const *const KEY_SHOW_DEBUG_INFO = L"デバッグ情報表示"
 デバッグ情報表示キー文字列 [詳解]
 
static wchar_t const *const KEY_DRAW_DOUBLE_BUFFER = L"ダブルバッファリング描画"
 ダブルバッファリング描画キー文字列 [詳解]
 
static wchar_t const *const KEY_RESIZE_PARTITION_REALTIME = L"リアルタイムパーティションサイズ変更"
 リアルタイムパーティションサイズ変更キー文字列 [詳解]
 
static wchar_t const *const KEY_VIEW_TOOLBAR = L"ツールバー表示状態"
 ツールバー表示状態キー文字列 [詳解]
 
static wchar_t const *const KEY_VIEW_STATUSBAR = L"ステータスバー表示状態"
 ステータスバー表示状態キー文字列 [詳解]
 
static wchar_t const *const SECTION_OVERLAP_LIST = L"オーバーラップウィンドウリスト"
 オーバーラップウィンドウリストセクション文字列 [詳解]
 
static wchar_t const *const SECTION_FLOATING_LIST = L"フローティングウィンドウリスト"
 フローティングウィンドウリストセクション文字列 [詳解]
 
static wchar_t const *const KEY_FOCUS_OVERLAP = L"オーバーラップウィンドウフォーカス有効"
 オーバーラップウィンドウフォーカス有効状態キー文字列 [詳解]
 
static wchar_t const *const KEY_FOCUS_FLOATING = L"フローティングウィンドウフォーカス有効"
 フローティングウィンドウフォーカス有効状態キー文字列 [詳解]
 
- 基底クラス LibWindow::CWndOverlap に属する継承静的限定公開変数類
static int const WINDOW_WIDTH = 640
 ウィンドウ水平サイズ初期値 [詳解]
 
static int const WINDOW_HEIGHT = 480
 ウィンドウ垂直サイズ初期値 [詳解]
 
- 基底クラス LibWindow::CWndPartition に属する継承静的限定公開変数類
static BYTE const TRANS_SIZEBAR_IMAGE = 96
 サイズバーイメージ透明度 [詳解]
 
static int const SIZEBAR_THICK = 4
 サイズバー太さ [詳解]
 
static COLORREF const COLOR_SIZEBAR = RGB( 240, 240, 240 )
 サイズバー色 [詳解]
 
static COLORREF const COLOR_SIZEBAR_BORDER = RGB( 108, 94, 79 )
 サイズバーボーダー色 [詳解]
 
- 基底クラス LibWindow::CWndContainer に属する継承静的限定公開変数類
static wchar_t const *const KEY_FOCUS_ELEMENT = L"エレメントウィンドウフォーカス有効"
 エレメントウィンドウフォーカス有効状態キー文字列 [詳解]
 
- 基底クラス LibWindow::CWndPane に属する継承静的限定公開変数類
static bool s_bShowDebugInfo = false
 デバッグ情報表示フラグ [詳解]
 
static bool s_bDrawDoubleBuffer = false
 ダブルバッファリング描画フラグ [詳解]
 
static bool s_bResizePartitionRealTime = false
 リアルタイムパーティションサイズ変更フラグ [詳解]
 
static HMENU s_hContextMenu = nullptr
 コンテキストメニューハンドル [詳解]
 
static HWND s_hFocus = nullptr
 フォーカスウィンドウ保存ハンドル [詳解]
 
static int const MIN_WIDTH = 24
 最小水平サイズ [詳解]
 
static int const MIN_HEIGHT = 24
 最小垂直サイズ [詳解]
 
static wchar_t const *const KEY_WINDOW_TITLE = L"ウィンドウタイトル"
 ウィンドウタイトルキー文字列 [詳解]
 
static wchar_t const *const KEY_SHOW = L"ウィンドウ表示フラグ"
 ウィンドウ表示フラグキー文字列 [詳解]
 
static wchar_t const *const KEY_FOCUS_ORDER = L"フォーカスウィンドウオーダー番号"
 フォーカスウィンドウオーダー番号キー文字列 [詳解]
 

非公開メンバ関数

 CWndMain (CWndMain const &)=delete
 
CWndMainoperator= (CWndMain const &)=delete
 

その他の継承メンバ

- 基底クラス LibWindow::CWndPartition に属する継承静的公開変数類
static EPartitionPos const PARTITION_POS = EPartitionPos::Left
 パーティション配置位置デフォルト値 [詳解]
 
static int const PARTITION_SIZE = 200
 パーティションサイズデフォルト値 [詳解]
 
static wchar_t const *const KEY_PARTITION_POS = L"パーティション配置位置"
 パーティション配置位置キー文字列 [詳解]
 
static wchar_t const *const KEY_PARTITION_SIZE = L"パーティションサイズ"
 パーティションサイズキー文字列 [詳解]
 
- 基底クラス LibWindow::CWndBase に属する継承限定公開型
enum  EEnumChildType { EEnumChildType::Invalid, EEnumChildType::GetCount, EEnumChildType::GetOrder, EEnumChildType::Size }
 子ウィンドウ列挙種別列挙体 [詳解]
 

詳解

メインウィンドウクラス

メインウィンドウクラスです。

注意
なし

CWndMain.h33 行目に定義があります。

構築子と解体子

LibWindow::CWndMain::CWndMain ( )
explicitnoexcept

コンストラクタ

コンストラクタです。

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

CWndMain.cpp37 行目に定義があります。

参照先 m_hMenu, m_pcIconImageList, m_pcToolBarButtonList, NotifyFatalError.

39  : CWndOverlap()
40  // メンバ変数初期化
41  , m_hMenu( nullptr )
42  , m_hAccel( nullptr )
43  , m_hStatusBar( nullptr )
44  , m_hSeparator( nullptr )
45  , m_cToolBar()
46  , m_cOverlapList()
47  , m_cFloatingList()
48  , m_hIconImageList( nullptr )
49  , m_pcIconImageList( nullptr )
50  , m_pcToolBarButtonList( nullptr )
51  , m_bFocusOverlap( false )
52  , m_bFocusFloating( false )
53  , m_bMenuMouseActivate( false )
54  , m_bValidMenuSelect( false )
55  , m_bToolBarMouseActivate( false )
56  , m_bValidToolBarSelect( false )
57  , m_bPerformanceTimer( false )
58  , m_nPerformanceFreq( 0 )
59  , m_nPerformanceCount( 0 )
60  , m_nSecondCount( 0 )
61  , m_nErrorCount( 0 )
63  , m_nFrameWaitTime( 0 )
64  , m_nFpsCount( 0 )
65  , m_nFpsValue( 0 )
66  , m_nFpsMax( FPS_MAX )
67  , m_bUpdatedFpsValue( false )
68  , m_cOtherInfo()
69  {
70  // コモンコントロールを初期化する
71  ::InitCommonControls();
72 
73  // 処理ブロック
74  do {
75  // アイコンイメージリストを作成する
76  m_pcIconImageList = new CArray< SIconImageInfo >;
77  if ( nullptr == m_pcIconImageList ) {
78  // 致命的エラー!
80  break;
81  }
82 
83  // ツールバーボタンリストを作成する
85  if ( nullptr == m_pcToolBarButtonList ) {
86  // 致命的エラー!
88  break;
89  }
90 
91  // メインメニューを作成する
92  m_hMenu = ::CreateMenu();
93  if ( nullptr == m_hMenu ) {
94  // 致命的エラー!
96  break;
97  }
98  } while ( false );
99  }
bool m_bValidToolBarSelect
ツールバーボタン選択有効フラグ
Definition: CWndMain.h:687
#define NotifyFatalError()
致命的エラー発生通知マクロ
Definition: LibUtility.h:22
LONGLONG m_nFrameWaitTime
フレーム更新待機時間
Definition: CWndMain.h:694
HMENU m_hMenu
メニューハンドル
Definition: CWndMain.h:672
CWndOverlap() noexcept
コンストラクタ
Definition: CWndOverlap.cpp:32
CWndToolBar m_cToolBar
ツールバー
Definition: CWndMain.h:676
int m_nFpsCount
FPSカウント
Definition: CWndMain.h:695
CArray< SIconImageInfo > * m_pcIconImageList
アイコンイメージリストポインタ
Definition: CWndMain.h:680
CTimer m_cFrameWaitTimer
フレーム更新待機タイマ
Definition: CWndMain.h:693
int m_nFpsValue
FPS測定値
Definition: CWndMain.h:696
CString m_cOtherInfo
その他の情報文字列
Definition: CWndMain.h:699
int m_nFpsMax
FPS最大値
Definition: CWndMain.h:697
bool m_bPerformanceTimer
高精度タイマ有効フラグ
Definition: CWndMain.h:688
LONGLONG m_nPerformanceCount
パフォーマンスカウント
Definition: CWndMain.h:690
HWND m_hSeparator
セパレータコントロールハンドル
Definition: CWndMain.h:675
LONGLONG m_nErrorCount
積算誤差カウント
Definition: CWndMain.h:692
HACCEL m_hAccel
アクセラレータテーブルハンドル
Definition: CWndMain.h:673
bool m_bToolBarMouseActivate
ツールバーマウスアクティベートフラグ
Definition: CWndMain.h:686
CWndList m_cOverlapList
オーバーラップウィンドウリスト
Definition: CWndMain.h:677
CWndList m_cFloatingList
フローティングウィンドウリスト
Definition: CWndMain.h:678
bool m_bFocusFloating
フローティングウィンドウフォーカス有効フラグ
Definition: CWndMain.h:683
HWND m_hStatusBar
ステータスバーコントロールハンドル
Definition: CWndMain.h:674
LONGLONG m_nPerformanceFreq
パフォーマンス周波数
Definition: CWndMain.h:689
bool m_bValidMenuSelect
メニュー項目選択有効フラグ
Definition: CWndMain.h:685
bool m_bUpdatedFpsValue
FPS測定値更新フラグ
Definition: CWndMain.h:698
CArray< TBBUTTON > * m_pcToolBarButtonList
ツールバーボタンリストポインタ
Definition: CWndMain.h:681
bool m_bMenuMouseActivate
メニューマウスアクティベートフラグ
Definition: CWndMain.h:684
static int const FPS_MAX
FPS最大値デフォルト値
Definition: CWndMain.h:714
bool m_bFocusOverlap
オーバーラップウィンドウフォーカス有効フラグ
Definition: CWndMain.h:682
HIMAGELIST m_hIconImageList
アイコンイメージリストハンドル
Definition: CWndMain.h:679
LONGLONG m_nSecondCount
1秒待ちカウント
Definition: CWndMain.h:691
LibWindow::CWndMain::~CWndMain ( )
virtualnoexcept

デストラクタ

デストラクタです。

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

CWndMain.cpp103 行目に定義があります。

参照先 m_hAccel, m_hMenu, m_pcIconImageList, m_pcToolBarButtonList.

103  {
104  // アクセラレータテーブルを破棄する
105  ::DestroyAcceleratorTable( m_hAccel );
106 
107  // メニューを破棄する
108  ::DestroyMenu( m_hMenu );
109 
110  // ツールバーボタンリストを削除する
111  delete m_pcToolBarButtonList;
112 
113  // アイコンイメージリストを削除する
114  delete m_pcIconImageList;
115  }
HMENU m_hMenu
メニューハンドル
Definition: CWndMain.h:672
CArray< SIconImageInfo > * m_pcIconImageList
アイコンイメージリストポインタ
Definition: CWndMain.h:680
HACCEL m_hAccel
アクセラレータテーブルハンドル
Definition: CWndMain.h:673
CArray< TBBUTTON > * m_pcToolBarButtonList
ツールバーボタンリストポインタ
Definition: CWndMain.h:681
LibWindow::CWndMain::CWndMain ( CWndMain const &  )
privatedelete

関数詳解

virtual wchar_t const* LibWindow::CWndMain::GetSectionName ( ) const
inlineoverridevirtualnoexcept

セクション名取得関数

セクション名取得関数です。

引数
なし
戻り値
文字列ポインタ
注意
オーバライド関数です。

LibWindow::CWndOverlapを再実装しています。

AppTest::CAppTestで再実装されています。

CWndMain.h71 行目に定義があります。

71 { return L"メインウィンドウ"; }
bool LibWindow::CWndMain::Create ( HWND  hParent = nullptr,
HMENU  hMenu = nullptr 
)
overridevirtualnoexcept

ウィンドウ作成関数

ウィンドウ作成関数です。

引数
[in]hParent親ウィンドウハンドル
[in]hMenuメニューハンドル
戻り値
実行結果
  • true 成功
  • false 失敗
注意
オーバライド関数です。

LibWindow::CWndOverlapを再実装しています。

CWndMain.cpp121 行目に定義があります。

参照先 LibWindow::CWndOverlap::Create(), CreateAccel(), LibWindow::CWndList::CreateListWindow(), CreateSeparator(), CreateStatusBar(), CreateToolBar(), m_cFloatingList, m_cOverlapList, m_hMenu, LibWindow::CWndBase::m_hWnd.

参照元 AppTest::CAppTest::ResumeConfigWindow(), Run().

121  {
122  // 処理ブロック
123  bool result = false;
124  do {
125  // 基底クラスの関数を実行する
126  if ( !CWndOverlap::Create( nullptr, m_hMenu ) ) {
127  // 失敗!
128  break;
129  }
130  // アクセラレータテーブルを作成する
131  else if ( !CreateAccel() ) {
132  // 失敗!
133  break;
134  }
135  // ツールバーを作成する
136  else if ( !CreateToolBar() ) {
137  // 失敗!
138  break;
139  }
140  // ステータスバーを作成する
141  else if ( !CreateStatusBar() ) {
142  // 失敗!
143  break;
144  }
145  // セパレータを作成する
146  else if ( !CreateSeparator() ) {
147  // 失敗!
148  break;
149  }
150  // オーバーラップウィンドウリストを作成する
151  else if ( !m_cOverlapList.CreateListWindow( m_hWnd ) ) {
152  // 失敗!
153  break;
154  }
155  // フローティングウィンドウリストを作成する
156  else if ( !m_cFloatingList.CreateListWindow( m_hWnd ) ) {
157  // 失敗!
158  break;
159  }
160 
161  // 成功!
162  result = true;
163  } while ( false );
164 
165  // 実行結果を返す
166  return result;
167  }
HMENU m_hMenu
メニューハンドル
Definition: CWndMain.h:672
virtual bool CreateSeparator() noexcept
セパレータ作成関数
Definition: CWndMain.cpp:2206
virtual bool CreateListWindow(HWND hParent=nullptr, HMENU hMenu=nullptr) noexcept
エレメントウィンドウリスト作成関数
Definition: CWndList.cpp:73
virtual bool CreateToolBar() noexcept
ツールバー作成関数
Definition: CWndMain.cpp:1926
virtual bool CreateStatusBar() noexcept
ステータスバー作成関数
Definition: CWndMain.cpp:2121
HWND m_hWnd
ウィンドウハンドル
Definition: CWndBase.h:1539
virtual bool Create(HWND hParent=nullptr, HMENU hMenu=nullptr) noexcept override
ウィンドウ作成関数
Definition: CWndOverlap.cpp:43
virtual bool CreateAccel() noexcept
アクセラレータテーブル作成関数
Definition: CWndMain.cpp:1887
CWndList m_cOverlapList
オーバーラップウィンドウリスト
Definition: CWndMain.h:677
CWndList m_cFloatingList
フローティングウィンドウリスト
Definition: CWndMain.h:678

呼び出し関係図:

被呼び出し関係図:

LRESULT LibWindow::CWndMain::WmDestroy ( )
overridevirtualnoexcept

各種メッセージ処理関数

各種メッセージ処理関数です。

引数
なし
戻り値
メッセージ終了コード
注意
オーバライド関数です。

LibWindow::CWndBaseを再実装しています。

CWndMain.cpp171 行目に定義があります。

171  {
172  // 処理ブロック
173  LRESULT result = 0;
174  do {
175  // 終了メッセージをポストする
176  ::PostQuitMessage( 0 );
177  } while ( false );
178 
179  // 実行結果を返す
180  return result;
181  }
LRESULT LibWindow::CWndMain::WmSize ( )
overridevirtualnoexcept

各種メッセージ処理関数

各種メッセージ処理関数です。

引数
なし
戻り値
メッセージ終了コード
注意
オーバライド関数です。

LibWindow::CWndPartitionを再実装しています。

CWndMain.cpp185 行目に定義があります。

参照先 LibWindow::CWndBase::GetHandle(), m_cToolBar, m_hSeparator, m_hStatusBar, LibWindow::CWndBase::m_hWnd, SEPARATOR_HEIGHT, LibWindow::CWndPartition::WmSize().

185  {
186  // 処理ブロック
187  LRESULT result = 0;
188  do {
189  // ウィンドウ表示状態を調べる
190  if ( 0 == ::IsWindowVisible( m_hWnd ) ) {
191  // 終了!
192  break;
193  }
194 
195  // クライアント領域を調べる
196  RECT sClientRect = {};
197  ::GetClientRect( m_hWnd, &sClientRect );
198  if ( 0 == ::IsRectEmpty( &sClientRect ) ) {
199  // ツールバー表示状態を調べる
200  if ( 0 != ::IsWindowVisible( m_cToolBar.GetHandle() ) ) {
201  // WM_SIZEメッセージを送信する
202  ::SendMessageW( m_cToolBar.GetHandle(), WM_SIZE, 0, 0 );
203  ::UpdateWindow( m_cToolBar.GetHandle() );
204 
205  // ツールバー表示領域を取得する
206  RECT sRect;
207  ::GetWindowRect( m_cToolBar.GetHandle(), &sRect );
208 
209  // クライアント座標系に変換する
210  ::ScreenToClient( m_hWnd, reinterpret_cast< LPPOINT >( &sRect.left ) );
211  ::ScreenToClient( m_hWnd, reinterpret_cast< LPPOINT >( &sRect.right ) );
212 
213  // セパレータを表示する
214  int nLeft = sRect.left;
215  int nTop = sRect.bottom;
216  int nWidth = ( sRect.right - nLeft );
217  int nHeight = SEPARATOR_HEIGHT;
218  ::SetWindowPos( m_hSeparator, HWND_TOP, nLeft, nTop, nWidth, nHeight, ( SWP_NOACTIVATE | SWP_SHOWWINDOW ) );
219  ::UpdateWindow( m_hSeparator );
220  }
221  else {
222  // セパレータを隠す
223  ::ShowWindow( m_hSeparator, SW_HIDE );
224  }
225 
226  // ステータスバー表示状態を調べる
227  if ( 0 != ::IsWindowVisible( m_hStatusBar ) ) {
228  // WM_SIZEメッセージを送信する
229  ::SendMessageW( m_hStatusBar, WM_SIZE, 0, 0 );
230  ::UpdateWindow( m_hStatusBar );
231  }
232  }
233 
234  // 基底クラスの関数を実行する
235  result = CWndOverlap::WmSize();
236  } while ( false );
237 
238  // 実行結果を返す
239  return result;
240  }
virtual HWND & GetHandle() noexcept
ウィンドウハンドル取得関数
Definition: CWndBase.h:69
CWndToolBar m_cToolBar
ツールバー
Definition: CWndMain.h:676
HWND m_hWnd
ウィンドウハンドル
Definition: CWndBase.h:1539
virtual LRESULT WmSize() noexcept override
各種メッセージ処理関数
HWND m_hSeparator
セパレータコントロールハンドル
Definition: CWndMain.h:675
static int const SEPARATOR_HEIGHT
セパレータコントロール垂直サイズ
Definition: CWndMain.h:704
HWND m_hStatusBar
ステータスバーコントロールハンドル
Definition: CWndMain.h:674

呼び出し関係図:

LRESULT LibWindow::CWndMain::WmSetFocus ( )
overridevirtualnoexcept

各種メッセージ処理関数

各種メッセージ処理関数です。

引数
なし
戻り値
メッセージ終了コード
注意
オーバライド関数です。

LibWindow::CWndPartitionを再実装しています。

CWndMain.cpp244 行目に定義があります。

参照先 LibWindow::CWndList::GetCurrentElement(), LibWindow::CWndBase::GetHandle(), m_bFocusFloating, m_bFocusOverlap, m_bMenuMouseActivate, m_bToolBarMouseActivate, m_cFloatingList, m_cOverlapList, LibWindow::CWndPartition::WmSetFocus().

244  {
245  // 処理ブロック
246  LRESULT result = 0;
247  do {
248  // メニューマウスアクティベートフラグを調べる
249  if ( m_bMenuMouseActivate ) {
250  // フォーカスウィンドウを無効化する
251  ::SetFocus( nullptr );
252 
253  // 終了!
254  break;
255  }
256  // ツールバーマウスアクティベートフラグを調べる
257  else if ( m_bToolBarMouseActivate ) {
258  // フォーカスウィンドウを無効化する
259  ::SetFocus( nullptr );
260 
261  // 終了!
262  break;
263  }
264 
265  // オーバーラップウィンドウフォーカス有効状態を調べる
266  if ( m_bFocusOverlap ) {
267  // カレントエレメントウィンドウを取得する
269  if ( nullptr != pcElement ) {
270  // フォーカスウィンドウを設定する
271  ::SetFocus( pcElement->GetHandle() );
272 
273  // 終了!
274  break;
275  }
276  }
277 
278  // フローティングウィンドウフォーカス有効状態を調べる
279  if ( m_bFocusFloating ) {
280  // カレントエレメントウィンドウを取得する
282  if ( nullptr != pcElement ) {
283  // フォーカスウィンドウを設定する
284  ::SetFocus( pcElement->GetHandle() );
285 
286  // 終了!
287  break;
288  }
289  }
290 
291  // 基底クラスの関数を実行する
292  result = CWndOverlap::WmSetFocus();
293  } while ( false );
294 
295  // 実行結果を返す
296  return result;
297  }
CWndPane CWndElement
エレメントウィンドウクラス型
Definition: CWndList.h:26
virtual LRESULT WmSetFocus() noexcept override
各種メッセージ処理関数
bool m_bToolBarMouseActivate
ツールバーマウスアクティベートフラグ
Definition: CWndMain.h:686
CWndList m_cOverlapList
オーバーラップウィンドウリスト
Definition: CWndMain.h:677
CWndList m_cFloatingList
フローティングウィンドウリスト
Definition: CWndMain.h:678
bool m_bFocusFloating
フローティングウィンドウフォーカス有効フラグ
Definition: CWndMain.h:683
virtual CWndElement * GetCurrentElement() const noexcept
カレントエレメントウィンドウ取得関数
Definition: CWndList.cpp:213
bool m_bMenuMouseActivate
メニューマウスアクティベートフラグ
Definition: CWndMain.h:684
bool m_bFocusOverlap
オーバーラップウィンドウフォーカス有効フラグ
Definition: CWndMain.h:682

呼び出し関係図:

LRESULT LibWindow::CWndMain::WmMouseActivate ( )
overridevirtualnoexcept

LibWindow::CWndBaseを再実装しています。

CWndMain.cpp301 行目に定義があります。

参照先 LibCommon::CArray< Type >::GetCount(), LibWindow::CWndBase::GetHandle(), m_bFocusFloating, m_bFocusOverlap, m_bMenuMouseActivate, m_bToolBarMouseActivate, m_bValidMenuSelect, m_bValidToolBarSelect, m_cToolBar, LibWindow::CWndBase::m_lParam, m_pcToolBarButtonList.

301  {
302  // 処理ブロック
303  LRESULT result = 0;
304  do {
305  // メニューマウスアクティベートフラグをクリアする
306  m_bMenuMouseActivate = false;
307 
308  // メニュー項目選択有効フラグをクリアする
309  m_bValidMenuSelect = false;
310 
311  // ツールバーマウスアクティベートフラグをクリアする
312  m_bToolBarMouseActivate = false;
313 
314  // ツールバーボタン選択有効フラグをクリアする
315  m_bValidToolBarSelect = false;
316 
317  // ヒットテストコードを調べる
318  WORD wHitTest = LOWORD( m_lParam );
319  if ( HTMENU == wHitTest ) {
320  // メニューマウスアクティベートフラグをセットする
321  m_bMenuMouseActivate = true;
322 
323  // 終了!
324  break;
325  }
326  // ツールバー表示状態を調べる
327  else if ( 0 != ::IsWindowVisible( m_cToolBar.GetHandle() ) ) {
328  // カーソル位置を取得する
329  POINT sPoint;
330  ::GetCursorPos( &sPoint );
331 
332  // クライアント座標系に変換する
333  ::ScreenToClient( m_cToolBar.GetHandle(), &sPoint );
334 
335  // 巡回する
336  for ( int nIndex = 0, nCount = m_pcToolBarButtonList->GetCount(); nCount > nIndex; ++nIndex ) {
337  // ボタン種別を調べる
338  if ( BTNS_BUTTON == ( *m_pcToolBarButtonList )[ nIndex ].fsStyle ) {
339  // ボタン表示領域を取得する
340  RECT sRect;
341  if ( TRUE == ::SendMessageW( m_cToolBar.GetHandle(), TB_GETITEMRECT, nIndex, reinterpret_cast< LPARAM >( &sRect ) ) ) {
342  // カーソル位置を調べる
343  if ( 0 != ::PtInRect( &sRect, sPoint ) ) {
344  // ツールバーマウスアクティベートフラグをセットする
346 
347  // ボタン有効状態を調べる
348  int idCommand = ( *m_pcToolBarButtonList )[ nIndex ].idCommand;
349  if ( 0 != ::SendMessageW( m_cToolBar.GetHandle(), TB_ISBUTTONENABLED, idCommand, 0 ) ) {
350  // ツールバーボタン選択有効フラグをセットする
351  m_bValidToolBarSelect = true;
352  }
353 
354  // 終了!
355  break;
356  }
357  }
358  }
359  }
360 
361  // ツールバーマウスアクティベートフラグを調べる
362  if ( m_bToolBarMouseActivate ) {
363  // 終了!
364  break;
365  }
366  }
367 
368  // オーバーラップウィンドウフォーカス有効フラグをクリアする
369  m_bFocusOverlap = false;
370 
371  // フローティングウィンドウフォーカス有効フラグをクリアする
372  m_bFocusFloating = false;
373  } while ( false );
374 
375  // 実行結果を返す
376  return result;
377  }
bool m_bValidToolBarSelect
ツールバーボタン選択有効フラグ
Definition: CWndMain.h:687
virtual HWND & GetHandle() noexcept
ウィンドウハンドル取得関数
Definition: CWndBase.h:69
CWndToolBar m_cToolBar
ツールバー
Definition: CWndMain.h:676
bool m_bToolBarMouseActivate
ツールバーマウスアクティベートフラグ
Definition: CWndMain.h:686
LPARAM m_lParam
メッセージ第2引数
Definition: CWndBase.h:1542
bool m_bFocusFloating
フローティングウィンドウフォーカス有効フラグ
Definition: CWndMain.h:683
bool m_bValidMenuSelect
メニュー項目選択有効フラグ
Definition: CWndMain.h:685
CArray< TBBUTTON > * m_pcToolBarButtonList
ツールバーボタンリストポインタ
Definition: CWndMain.h:681
bool m_bMenuMouseActivate
メニューマウスアクティベートフラグ
Definition: CWndMain.h:684
bool m_bFocusOverlap
オーバーラップウィンドウフォーカス有効フラグ
Definition: CWndMain.h:682
virtual int GetCount() const noexcept
配列要素数取得関数
Definition: CArray.h:149

呼び出し関係図:

LRESULT LibWindow::CWndMain::WmMenuSelect ( )
overridevirtualnoexcept

LibWindow::CWndBaseを再実装しています。

CWndMain.cpp381 行目に定義があります。

参照先 m_bMenuMouseActivate, m_bValidMenuSelect, m_hMenu, LibWindow::CWndBase::m_lParam, LibWindow::CWndBase::WmMenuSelect().

381  {
382  // 処理ブロック
383  LRESULT result = 0;
384  do {
385  // メニューマウスアクティベートフラグを調べる
386  if ( m_bMenuMouseActivate ) {
387  // メニューハンドルを調べる
388  HMENU hMenu = reinterpret_cast< HMENU >( m_lParam );
389  if ( m_hMenu == hMenu ) {
390  // メニュー項目選択有効フラグをセットする
391  m_bValidMenuSelect = true;
392  }
393  }
394 
395  // 基底クラスの関数を実行する
396  result = CWndOverlap::WmMenuSelect();
397  } while ( false );
398 
399  // 実行結果を返す
400  return result;
401  }
HMENU m_hMenu
メニューハンドル
Definition: CWndMain.h:672
virtual LRESULT WmMenuSelect() noexcept
Definition: CWndBase.h:672
LPARAM m_lParam
メッセージ第2引数
Definition: CWndBase.h:1542
bool m_bValidMenuSelect
メニュー項目選択有効フラグ
Definition: CWndMain.h:685
bool m_bMenuMouseActivate
メニューマウスアクティベートフラグ
Definition: CWndMain.h:684

呼び出し関係図:

LRESULT LibWindow::CWndMain::WmExitMenuLoop ( )
overridevirtualnoexcept

LibWindow::CWndBaseを再実装しています。

CWndMain.cpp405 行目に定義があります。

参照先 m_bFocusFloating, m_bFocusOverlap, m_bMenuMouseActivate, m_bValidMenuSelect, LibWindow::CWndBase::m_hWnd, LibWindow::CWndBase::WmExitMenuLoop().

405  {
406  // 処理ブロック
407  LRESULT result = 0;
408  do {
409  // メニューマウスアクティベートフラグを調べる
410  if ( m_bMenuMouseActivate ) {
411  // メニューマウスアクティベートフラグをクリアする
412  m_bMenuMouseActivate = false;
413 
414  // メニュー項目選択有効フラグを調べる
415  if ( !m_bValidMenuSelect ) {
416  // メニュー項目選択有効フラグをクリアする
417  m_bValidMenuSelect = false;
418 
419  // オーバーラップウィンドウフォーカス有効フラグをクリアする
420  m_bFocusOverlap = false;
421 
422  // フローティングウィンドウフォーカス有効フラグをクリアする
423  m_bFocusFloating = false;
424  }
425 
426  // フォーカスウィンドウを設定する
427  ::SetFocus( m_hWnd );
428  }
429 
430  // 基底クラスの関数を実行する
431  result = CWndOverlap::WmExitMenuLoop();
432  } while ( false );
433 
434  // 実行結果を返す
435  return result;
436  }
virtual LRESULT WmExitMenuLoop() noexcept
Definition: CWndBase.h:707
HWND m_hWnd
ウィンドウハンドル
Definition: CWndBase.h:1539
bool m_bFocusFloating
フローティングウィンドウフォーカス有効フラグ
Definition: CWndMain.h:683
bool m_bValidMenuSelect
メニュー項目選択有効フラグ
Definition: CWndMain.h:685
bool m_bMenuMouseActivate
メニューマウスアクティベートフラグ
Definition: CWndMain.h:684
bool m_bFocusOverlap
オーバーラップウィンドウフォーカス有効フラグ
Definition: CWndMain.h:682

呼び出し関係図:

LRESULT LibWindow::CWndMain::NmClick ( )
overridevirtualnoexcept

LibWindow::CWndBaseを再実装しています。

CWndMain.cpp440 行目に定義があります。

参照先 LibWindow::CWndBase::GetHandle(), m_bFocusFloating, m_bFocusOverlap, m_bToolBarMouseActivate, m_cToolBar, LibWindow::CWndBase::m_hWnd, LibWindow::CWndBase::m_lParam, LibWindow::CWndBase::NmClick().

440  {
441  // 処理ブロック
442  LRESULT result = 0;
443  do {
444  // 通知メッセージヘッダ構造体を取得する
445  NMHDR* psNmHdr = reinterpret_cast< LPNMHDR >( m_lParam );
446 
447  // コントロールハンドルを調べる
448  if ( m_cToolBar.GetHandle() == psNmHdr->hwndFrom ) {
449  // ツールバーマウスアクティベートフラグを調べる
450  if ( m_bToolBarMouseActivate ) {
451  // ツールバーマウスアクティベートフラグをクリアする
452  m_bToolBarMouseActivate = false;
453  }
454  else {
455  // オーバーラップウィンドウフォーカス有効フラグをクリアする
456  m_bFocusOverlap = false;
457 
458  // フローティングウィンドウフォーカス有効フラグをクリアする
459  m_bFocusFloating = false;
460  }
461 
462  // フォーカスウィンドウを設定する
463  ::SetFocus( m_hWnd );
464  }
465 
466  // 基底クラスの関数を実行する
467  result = CWndOverlap::NmClick();
468  } while ( false );
469 
470  // 実行結果を返す
471  return result;
472  }
virtual HWND & GetHandle() noexcept
ウィンドウハンドル取得関数
Definition: CWndBase.h:69
CWndToolBar m_cToolBar
ツールバー
Definition: CWndMain.h:676
virtual LRESULT NmClick() noexcept
Definition: CWndBase.h:1268
HWND m_hWnd
ウィンドウハンドル
Definition: CWndBase.h:1539
bool m_bToolBarMouseActivate
ツールバーマウスアクティベートフラグ
Definition: CWndMain.h:686
LPARAM m_lParam
メッセージ第2引数
Definition: CWndBase.h:1542
bool m_bFocusFloating
フローティングウィンドウフォーカス有効フラグ
Definition: CWndMain.h:683
bool m_bFocusOverlap
オーバーラップウィンドウフォーカス有効フラグ
Definition: CWndMain.h:682

呼び出し関係図:

LRESULT LibWindow::CWndMain::WmDrawItem ( )
overridevirtualnoexcept

LibWindow::CWndPartitionを再実装しています。

CWndMain.cpp476 行目に定義があります。

参照先 DrawSeparator(), m_hSeparator, LibWindow::CWndBase::m_lParam, LibWindow::CWndPartition::WmDrawItem().

476  {
477  // 処理ブロック
478  LRESULT result = 0;
479  do {
480  // 描画アイテム構造体を取得する
481  LPDRAWITEMSTRUCT lpDraw = reinterpret_cast< LPDRAWITEMSTRUCT >( m_lParam );
482 
483  // コントロールハンドルを調べる
484  if ( m_hSeparator == lpDraw->hwndItem ) {
485  // セパレータを描画する
486  DrawSeparator( lpDraw );
487 
488  // 終了!
489  break;
490  }
491 
492  // 基底クラスの関数を実行する
493  result = CWndOverlap::WmDrawItem();
494  } while ( false );
495 
496  // 実行結果を返す
497  return result;
498  }
virtual LRESULT WmDrawItem() noexcept override
virtual bool DrawSeparator(LPDRAWITEMSTRUCT lpDraw) noexcept
セパレータ描画関数
Definition: CWndMain.cpp:2228
HWND m_hSeparator
セパレータコントロールハンドル
Definition: CWndMain.h:675
LPARAM m_lParam
メッセージ第2引数
Definition: CWndBase.h:1542

呼び出し関係図:

LRESULT LibWindow::CWndMain::WmCommand ( )
overridevirtualnoexcept

LibWindow::CWndPaneを再実装しています。

CWndMain.cpp502 行目に定義があります。

参照先 ExecMenuCommand(), LibWindow::CWndPane::ExecMenuCommand(), LibWindow::GetMenuCommandData(), LibWindow::CWndPane::GetPaneWindow(), m_hMenu, LibWindow::CWndBase::m_lParam, LibWindow::CWndBase::m_wParam, LibWindow::CWndPane::s_hContextMenu, LibWindow::CWndPane::WmCommand().

502  {
503  // 処理ブロック
504  LRESULT result = 0;
505  do {
506  // コンテキストメニューハンドルを調べる
507  if ( nullptr == s_hContextMenu ) {
508  // コマンドIDを取得する
509  WORD wId = LOWORD( m_wParam );
510  if ( 0 != wId ) {
511  // 通知コードを取得する
512  WORD wCode = HIWORD( m_wParam );
513 
514  // コントロールハンドルを取得する
515  HWND hCtrl = reinterpret_cast< HWND >( m_lParam );
516  if ( nullptr != hCtrl ) {
517  // メニューコマンドを実行する
518  ExecMenuCommand( wId, wCode, hCtrl );
519 
520  // 終了!
521  break;
522  }
523 
524  // メニューコマンドデータを取得する
525  CWndPane* pcPane = nullptr;
526  ULONG_PTR uData;
527  if ( GetMenuCommandData( m_hMenu, static_cast< UINT >( m_wParam ), uData ) ) {
528  // コントロールハンドルを取得する
529  hCtrl = reinterpret_cast< HWND >( uData );
530 
531  // ペインウィンドウポインタを取得する
532  pcPane = GetPaneWindow( hCtrl );
533  }
534 
535  // ペインウィンドウポインタを調べる
536  if ( nullptr == pcPane ) {
537  // ペインウィンドウポインタを設定する
538  pcPane = this;
539  }
540 
541  // メニューコマンドを実行する
542  pcPane->ExecMenuCommand( wId, wCode, hCtrl );
543 
544  // 終了!
545  break;
546  }
547  }
548 
549  // 基底クラスの関数を実行する
550  result = CWndOverlap::WmCommand();
551  } while ( false );
552 
553  // 実行結果を返す
554  return result;
555  }
LIB_WINDOW_API bool GetMenuCommandData(HMENU hMenu, UINT uId, ULONG_PTR &ruData) noexcept
メニューコマンドデータ取得関数
CWndPane() noexcept
コンストラクタ
Definition: CWndPane.cpp:30
HMENU m_hMenu
メニューハンドル
Definition: CWndMain.h:672
static HMENU s_hContextMenu
コンテキストメニューハンドル
Definition: CWndPane.h:696
virtual bool ExecMenuCommand(WORD wId, WORD wCode, HWND hCtrl) noexcept override
メニューコマンド実行関数
Definition: CWndMain.cpp:1019
LPARAM m_lParam
メッセージ第2引数
Definition: CWndBase.h:1542
virtual CWndPane * GetPaneWindow(HWND hWnd) const noexcept
表示フラグ取得関数
Definition: CWndPane.h:178
virtual LRESULT WmCommand() noexcept override
Definition: CWndPane.cpp:289
WPARAM m_wParam
メッセージ第1引数
Definition: CWndBase.h:1541

呼び出し関係図:

LRESULT LibWindow::CWndMain::WmNotifyChildSetFocus ( )
overridevirtualnoexcept

ユーザ定義メッセージ処理関数

ユーザ定義メッセージ処理関数です。

引数
なし
戻り値
メッセージ終了コード
注意
オーバライド関数です。

LibWindow::CWndContainerを再実装しています。

CWndMain.cpp559 行目に定義があります。

参照先 LibWindow::CWndList::GetElementWindow(), m_bFocusFloating, m_bFocusOverlap, m_cFloatingList, m_cOverlapList, LibWindow::CWndBase::m_lParam, LibWindow::CWndList::SetCurrentElement(), LibWindow::CWndContainer::WmNotifyChildSetFocus().

559  {
560  // 処理ブロック
561  LRESULT result = 0;
562  do {
563  // オーバーラップウィンドウフォーカス有効フラグをクリアする
564  m_bFocusOverlap = false;
565 
566  // フローティングウィンドウフォーカス有効フラグをクリアする
567  m_bFocusFloating = false;
568 
569  // 子ウィンドウハンドルを取得する
570  HWND hChild = reinterpret_cast< HWND >( m_lParam );
571 
572  // オーバーラップウィンドウを取得する
573  CWndElement* pcElement = m_cOverlapList.GetElementWindow( hChild );
574  if ( nullptr != pcElement ) {
575  // カレントエレメントウィンドウを設定する
576  if ( m_cOverlapList.SetCurrentElement( pcElement ) ) {
577  // オーバーラップウィンドウフォーカス有効フラグをセットする
578  m_bFocusOverlap = true;
579  }
580  }
581 
582  // フローティングウィンドウを取得する
583  pcElement = m_cFloatingList.GetElementWindow( hChild );
584  if ( nullptr != pcElement ) {
585  // カレントエレメントウィンドウを設定する
586  if ( m_cFloatingList.SetCurrentElement( pcElement ) ) {
587  // フローティングウィンドウフォーカス有効フラグをセットする
588  m_bFocusFloating = true;
589  }
590  }
591 
592  // 基底クラスの関数を実行する
594  } while ( false );
595 
596  // 実行結果を返す
597  return result;
598  }
virtual LRESULT WmNotifyChildSetFocus() noexcept override
ユーザ定義メッセージ処理関数
virtual CWndElement * GetElementWindow(HWND hWnd) const noexcept
エレメントウィンドウ取得関数
Definition: CWndList.cpp:234
CWndPane CWndElement
エレメントウィンドウクラス型
Definition: CWndList.h:26
LPARAM m_lParam
メッセージ第2引数
Definition: CWndBase.h:1542
CWndList m_cOverlapList
オーバーラップウィンドウリスト
Definition: CWndMain.h:677
CWndList m_cFloatingList
フローティングウィンドウリスト
Definition: CWndMain.h:678
bool m_bFocusFloating
フローティングウィンドウフォーカス有効フラグ
Definition: CWndMain.h:683
virtual bool SetCurrentElement(CWndElement *pcElement) noexcept
カレントエレメントウィンドウ設定関数
Definition: CWndList.h:172
bool m_bFocusOverlap
オーバーラップウィンドウフォーカス有効フラグ
Definition: CWndMain.h:682

呼び出し関係図:

LRESULT LibWindow::CWndMain::WmNotifyChildLButtonUp ( )
overridevirtualnoexcept

LibWindow::CWndPaneを再実装しています。

CWndMain.cpp602 行目に定義があります。

参照先 LibWindow::CWndBase::GetHandle(), m_bToolBarMouseActivate, m_bValidToolBarSelect, m_cToolBar, LibWindow::CWndBase::m_hWnd, LibWindow::CWndBase::m_lParam, LibWindow::CWndPane::WmNotifyChildLButtonUp().

602  {
603  // 処理ブロック
604  LRESULT result = 0;
605  do {
606  // 子ウィンドウハンドルを調べる
607  HWND hChild = reinterpret_cast< HWND >( m_lParam );
608  if ( m_cToolBar.GetHandle() == hChild ) {
609  // ツールバーマウスアクティベートフラグを調べる
610  if ( m_bToolBarMouseActivate ) {
611  // ツールバーボタン選択有効フラグを調べる
612  if ( !m_bValidToolBarSelect ) {
613  // ツールバーマウスアクティベートフラグをクリアする
614  m_bToolBarMouseActivate = false;
615 
616  // フォーカスウィンドウを設定する
617  ::SetFocus( m_hWnd );
618  }
619  }
620  }
621 
622  // 基底クラスの関数を実行する
624  } while ( false );
625 
626  // 実行結果を返す
627  return result;
628  }
bool m_bValidToolBarSelect
ツールバーボタン選択有効フラグ
Definition: CWndMain.h:687
virtual HWND & GetHandle() noexcept
ウィンドウハンドル取得関数
Definition: CWndBase.h:69
CWndToolBar m_cToolBar
ツールバー
Definition: CWndMain.h:676
virtual LRESULT WmNotifyChildLButtonUp() noexcept
Definition: CWndPane.h:322
HWND m_hWnd
ウィンドウハンドル
Definition: CWndBase.h:1539
bool m_bToolBarMouseActivate
ツールバーマウスアクティベートフラグ
Definition: CWndMain.h:686
LPARAM m_lParam
メッセージ第2引数
Definition: CWndBase.h:1542

呼び出し関係図:

LRESULT LibWindow::CWndMain::WmNotifyChildCommand ( )
overridevirtualnoexcept

LibWindow::CWndPaneを再実装しています。

CWndMain.cpp632 行目に定義があります。

参照先 UpdateMenuBar(), LibWindow::CWndPane::WmNotifyChildCommand().

632  {
633  // 処理ブロック
634  LRESULT result = 0;
635  do {
636  // メニューバーを更新する
637  UpdateMenuBar();
638 
639  // 基底クラスの関数を実行する
641  } while ( false );
642 
643  // 実行結果を返す
644  return result;
645  }
virtual LRESULT WmNotifyChildCommand() noexcept
Definition: CWndPane.cpp:377
virtual bool UpdateMenuBar() noexcept
メニューバー更新関数
Definition: CWndMain.cpp:1628

呼び出し関係図:

bool LibWindow::CWndMain::InitConfig ( CJsonConfig rcConfig)
overridevirtualnoexcept

ウィンドウ構成情報初期化関数

ウィンドウ構成情報初期化関数です。

引数
[in]rcConfigJSON構成ファイル参照
戻り値
実行結果
  • true 成功
  • false 失敗
注意
オーバライド関数です。

LibWindow::CWndPartitionを再実装しています。

CWndMain.cpp649 行目に定義があります。

参照先 CreateFloatingWindow(), CreateOverlapWindow(), LibWindow::CWndPartition::InitConfig(), LibWindow::CWndList::InitElementListConfig(), KEY_FOCUS_FLOATING, KEY_FOCUS_OVERLAP, m_bFocusFloating, m_bFocusOverlap, m_cFloatingList, m_cOverlapList, SECTION_FLOATING_LIST, SECTION_OVERLAP_LIST.

参照元 AppTest::CAppTest::ResumeConfigWindow().

649  {
650  // 処理ブロック
651  bool result = false;
652  do {
653  // 基底クラスの関数を実行する
654  if ( !CWndOverlap::InitConfig( rcConfig ) ) {
655  // 失敗!
656  break;
657  }
658  // オーバーラップウィンドウリスト構成情報を初期化する
660  // 失敗!
661  break;
662  }
663  // フローティングウィンドウリスト構成情報を初期化する
665  // 失敗!
666  break;
667  }
668 
669  // オーバーラップウィンドウフォーカス有効フラグを取得する
670  rcConfig.Get( m_bFocusOverlap, KEY_FOCUS_OVERLAP );
671 
672  // フローティングウィンドウフォーカス有効フラグを取得する
673  rcConfig.Get( m_bFocusFloating, KEY_FOCUS_FLOATING );
674 
675  // 成功!
676  result = true;
677  } while ( false );
678 
679  // 実行結果を返す
680  return result;
681  }
virtual bool InitConfig(CJsonConfig &rcConfig) noexcept override
ウィンドウ構成情報初期化関数
static CWndElement * CreateFloatingWindow() noexcept
フローティングウィンドウ作成関数
Definition: CWndMain.h:651
static wchar_t const *const KEY_FOCUS_OVERLAP
オーバーラップウィンドウフォーカス有効状態キー文字列
Definition: CWndMain.h:730
static CWndElement * CreateOverlapWindow() noexcept
オーバーラップウィンドウ作成関数
Definition: CWndMain.h:640
CWndList m_cOverlapList
オーバーラップウィンドウリスト
Definition: CWndMain.h:677
CWndList m_cFloatingList
フローティングウィンドウリスト
Definition: CWndMain.h:678
bool m_bFocusFloating
フローティングウィンドウフォーカス有効フラグ
Definition: CWndMain.h:683
bool m_bFocusOverlap
オーバーラップウィンドウフォーカス有効フラグ
Definition: CWndMain.h:682
static wchar_t const *const SECTION_OVERLAP_LIST
オーバーラップウィンドウリストセクション文字列
Definition: CWndMain.h:728
static wchar_t const *const KEY_FOCUS_FLOATING
フローティングウィンドウフォーカス有効状態キー文字列
Definition: CWndMain.h:731
virtual bool InitElementListConfig(CJsonConfig &rcConfig, CWndElement *(*pfnCreateElement)(), wchar_t const *pszElementName) noexcept
エレメントウィンドウリスト構成情報初期化関数
Definition: CWndList.cpp:259
static wchar_t const *const SECTION_FLOATING_LIST
フローティングウィンドウリストセクション文字列
Definition: CWndMain.h:729

呼び出し関係図:

被呼び出し関係図:

bool LibWindow::CWndMain::ResumeConfig ( CJsonConfig rcConfig)
overridevirtualnoexcept

ウィンドウ構成情報復元関数

ウィンドウ構成情報復元関数です。

引数
[in]rcConfigJSON構成ファイル参照
戻り値
実行結果
  • true 成功
  • false 失敗
注意
オーバライド関数です。

LibWindow::CWndOverlapを再実装しています。

CWndMain.cpp685 行目に定義があります。

参照先 LibWindow::CWndBase::GetHandle(), GetOrderPane(), LibWindow::CWndPane::KEY_FOCUS_ORDER, KEY_VIEW_STATUSBAR, KEY_VIEW_TOOLBAR, m_cFloatingList, m_cOverlapList, m_cToolBar, m_hStatusBar, LibWindow::CWndOverlap::ResumeConfig(), LibWindow::CWndList::ResumeElementListConfig(), LibWindow::CWndPane::s_hFocus, SECTION_FLOATING_LIST, SECTION_OVERLAP_LIST.

参照元 AppTest::CAppTest::ResumeConfigWindow().

685  {
686  // 処理ブロック
687  bool result = false;
688  do {
689  // ツールバー表示状態を復元する
690  bool bView = true;
691  rcConfig.Get( bView, KEY_VIEW_TOOLBAR );
692  ::ShowWindow( m_cToolBar.GetHandle(), ( bView? SW_SHOWNOACTIVATE: SW_HIDE ) );
693 
694  // ステータスバー表示状態を復元する
695  bView = true;
696  rcConfig.Get( bView, KEY_VIEW_STATUSBAR );
697  ::ShowWindow( m_hStatusBar, ( bView? SW_SHOWNOACTIVATE: SW_HIDE ) );
698 
699  // フォーカスウィンドウオーダー番号を取得する
700  int nOrder = 0;
701  if ( rcConfig.Get( nOrder, KEY_FOCUS_ORDER ) ) {
702  // オーダー番号ペインウィンドウを取得する
703  CWndPane* pcPane = GetOrderPane( &nOrder );
704  if ( nullptr != pcPane ) {
705  // フォーカスウィンドウ保存ハンドルを設定する
706  s_hFocus = pcPane->GetHandle();
707  }
708  }
709 
710  // 基底クラスの関数を実行する
711  if ( !CWndOverlap::ResumeConfig( rcConfig ) ) {
712  // 失敗!
713  break;
714  }
715  // オーバーラップウィンドウリスト構成情報を復元する
717  // 失敗!
718  break;
719  }
720  // フローティングウィンドウリスト構成情報を復元する
722  // 失敗!
723  break;
724  }
725 
726  // 成功!
727  result = true;
728  } while ( false );
729 
730  // 実行結果を返す
731  return result;
732  }
virtual HWND & GetHandle() noexcept
ウィンドウハンドル取得関数
Definition: CWndBase.h:69
CWndPane() noexcept
コンストラクタ
Definition: CWndPane.cpp:30
CWndToolBar m_cToolBar
ツールバー
Definition: CWndMain.h:676
virtual bool ResumeElementListConfig(CJsonConfig &rcConfig, wchar_t const *pszElementName) noexcept
エレメントウィンドウリスト構成情報復元関数
Definition: CWndList.cpp:331
virtual CWndPane * GetOrderPane(int *pnOrder) noexcept override
オーダー番号ペインウィンドウ取得関数
Definition: CWndMain.cpp:875
virtual bool ResumeConfig(CJsonConfig &rcConfig) noexcept override
ウィンドウ構成情報復元関数
Definition: CWndOverlap.cpp:88
static HWND s_hFocus
フォーカスウィンドウ保存ハンドル
Definition: CWndPane.h:697
static wchar_t const *const KEY_FOCUS_ORDER
フォーカスウィンドウオーダー番号キー文字列
Definition: CWndPane.h:710
CWndList m_cOverlapList
オーバーラップウィンドウリスト
Definition: CWndMain.h:677
CWndList m_cFloatingList
フローティングウィンドウリスト
Definition: CWndMain.h:678
static wchar_t const *const KEY_VIEW_TOOLBAR
ツールバー表示状態キー文字列
Definition: CWndMain.h:726
HWND m_hStatusBar
ステータスバーコントロールハンドル
Definition: CWndMain.h:674
static wchar_t const *const SECTION_OVERLAP_LIST
オーバーラップウィンドウリストセクション文字列
Definition: CWndMain.h:728
static wchar_t const *const SECTION_FLOATING_LIST
フローティングウィンドウリストセクション文字列
Definition: CWndMain.h:729
static wchar_t const *const KEY_VIEW_STATUSBAR
ステータスバー表示状態キー文字列
Definition: CWndMain.h:727

呼び出し関係図:

被呼び出し関係図:

bool LibWindow::CWndMain::SaveConfig ( CJsonConfig rcConfig)
overridevirtualnoexcept

ウィンドウ構成情報保存関数

ウィンドウ構成情報保存関数です。

引数
[in]rcConfigJSON構成ファイル参照
戻り値
実行結果
  • true 成功
  • false 失敗
注意
オーバライド関数です。

LibWindow::CWndOverlapを再実装しています。

CWndMain.cpp736 行目に定義があります。

参照先 LibWindow::CWndBase::GetHandle(), LibWindow::CWndPane::GetOrderIndex(), LibWindow::CWndPane::GetPaneWindow(), KEY_FOCUS_FLOATING, LibWindow::CWndPane::KEY_FOCUS_ORDER, KEY_FOCUS_OVERLAP, KEY_VIEW_STATUSBAR, KEY_VIEW_TOOLBAR, m_bFocusFloating, m_bFocusOverlap, m_cFloatingList, m_cOverlapList, m_cToolBar, m_hStatusBar, LibWindow::CWndPane::s_hFocus, LibWindow::CWndOverlap::SaveConfig(), LibWindow::CWndList::SaveElementListConfig(), SECTION_FLOATING_LIST, SECTION_OVERLAP_LIST (計19項目).

参照元 AppTest::CAppTest::SaveConfigWindow().

736  {
737  // 処理ブロック
738  bool result = false;
739  do {
740  // 基底クラスの関数を実行する
741  if ( !CWndOverlap::SaveConfig( rcConfig ) ) {
742  // 失敗!
743  break;
744  }
745  // オーバーラップウィンドウリスト構成情報を保存する
746  else if ( !m_cOverlapList.SaveElementListConfig( rcConfig, SECTION_OVERLAP_LIST ) ) {
747  // 失敗!
748  break;
749  }
750  // フローティングウィンドウリスト構成情報を保存する
752  // 失敗!
753  break;
754  }
755 
756  // オーバーラップウィンドウフォーカス有効状態を調べる
757  if ( m_bFocusOverlap ) {
758  // オーバーラップウィンドウフォーカス有効状態を保存する
759  if ( !rcConfig.Set( true, KEY_FOCUS_OVERLAP ) ) {
760  // 失敗!
761  break;
762  }
763  }
764 
765  // フローティングウィンドウフォーカス有効状態を調べる
766  if ( m_bFocusFloating ) {
767  // フローティングウィンドウフォーカス有効状態を保存する
768  if ( !rcConfig.Set( true, KEY_FOCUS_FLOATING ) ) {
769  // 失敗!
770  break;
771  }
772  }
773 
774  // フォーカス保存ペインウィンドウを取得する
775  CWndPane* pcFocus = GetPaneWindow( s_hFocus );
776  if ( nullptr != pcFocus ) {
777  // オーダー番号を取得する
778  int nOrder = pcFocus->GetOrderIndex();
779  if ( 0 <= nOrder ) {
780  // フォーカスウィンドウオーダー番号を保存する
781  if ( !rcConfig.Set( nOrder, KEY_FOCUS_ORDER ) ) {
782  // 失敗!
783  break;
784  }
785  }
786  }
787 
788  // ツールバー表示状態を調べる
789  if ( 0 == ::IsWindowVisible( m_cToolBar.GetHandle() ) ) {
790  // ツールバー表示状態を保存する
791  if ( !rcConfig.Set( false, KEY_VIEW_TOOLBAR ) ) {
792  // 失敗!
793  break;
794  }
795  }
796 
797  // ステータスバー表示状態を調べる
798  if ( 0 == ::IsWindowVisible( m_hStatusBar ) ) {
799  // ステータスバー表示状態を保存する
800  if ( !rcConfig.Set( false, KEY_VIEW_STATUSBAR ) ) {
801  // 失敗!
802  break;
803  }
804  }
805 
806  // 成功!
807  result = true;
808  } while ( false );
809 
810  // 実行結果を返す
811  return result;
812  }
virtual HWND & GetHandle() noexcept
ウィンドウハンドル取得関数
Definition: CWndBase.h:69
CWndPane() noexcept
コンストラクタ
Definition: CWndPane.cpp:30
CWndToolBar m_cToolBar
ツールバー
Definition: CWndMain.h:676
static wchar_t const *const KEY_FOCUS_OVERLAP
オーバーラップウィンドウフォーカス有効状態キー文字列
Definition: CWndMain.h:730
static HWND s_hFocus
フォーカスウィンドウ保存ハンドル
Definition: CWndPane.h:697
virtual bool SaveConfig(CJsonConfig &rcConfig) noexcept override
ウィンドウ構成情報保存関数
static wchar_t const *const KEY_FOCUS_ORDER
フォーカスウィンドウオーダー番号キー文字列
Definition: CWndPane.h:710
CWndList m_cOverlapList
オーバーラップウィンドウリスト
Definition: CWndMain.h:677
CWndList m_cFloatingList
フローティングウィンドウリスト
Definition: CWndMain.h:678
bool m_bFocusFloating
フローティングウィンドウフォーカス有効フラグ
Definition: CWndMain.h:683
static wchar_t const *const KEY_VIEW_TOOLBAR
ツールバー表示状態キー文字列
Definition: CWndMain.h:726
HWND m_hStatusBar
ステータスバーコントロールハンドル
Definition: CWndMain.h:674
virtual CWndPane * GetPaneWindow(HWND hWnd) const noexcept
表示フラグ取得関数
Definition: CWndPane.h:178
virtual bool SaveElementListConfig(CJsonConfig &rcConfig, wchar_t const *pszElementName) noexcept
エレメントウィンドウリスト構成情報保存関数
Definition: CWndList.cpp:383
bool m_bFocusOverlap
オーバーラップウィンドウフォーカス有効フラグ
Definition: CWndMain.h:682
static wchar_t const *const SECTION_OVERLAP_LIST
オーバーラップウィンドウリストセクション文字列
Definition: CWndMain.h:728
static wchar_t const *const KEY_FOCUS_FLOATING
フローティングウィンドウフォーカス有効状態キー文字列
Definition: CWndMain.h:731
static wchar_t const *const SECTION_FLOATING_LIST
フローティングウィンドウリストセクション文字列
Definition: CWndMain.h:729
static wchar_t const *const KEY_VIEW_STATUSBAR
ステータスバー表示状態キー文字列
Definition: CWndMain.h:727

呼び出し関係図:

被呼び出し関係図:

bool LibWindow::CWndMain::GetChildPaneInfo ( SChildPaneInfo rsChildInfo)
overridevirtualnoexcept

子ペインウィンドウ情報取得関数

子ペインウィンドウ情報取得関数です。

引数
[in]rsChildInfo子ペインウィンドウ情報構造体参照
戻り値
実行結果
  • true 成功
  • false 失敗
注意
オーバライド関数です。

LibWindow::CWndPartitionを再実装しています。

CWndMain.cpp816 行目に定義があります。

参照先 LibWindow::CWndList::GetChildElementListInfo(), LibWindow::CWndPartition::GetChildPaneInfo(), m_cFloatingList, m_cOverlapList.

816  {
817  // 処理ブロック
818  bool result = false;
819  do {
820  // 基底クラスの関数を実行する
821  if ( !CWndOverlap::GetChildPaneInfo( rsChildInfo ) ) {
822  // 失敗!
823  break;
824  }
825  // オーバーラップウィンドウリスト情報を取得する
826  else if ( !m_cOverlapList.GetChildElementListInfo( this, rsChildInfo ) ) {
827  // 失敗!
828  break;
829  }
830  // フローティングウィンドウリスト情報を取得する
831  else if ( !m_cFloatingList.GetChildElementListInfo( this, rsChildInfo ) ) {
832  // 失敗!
833  break;
834  }
835 
836  // 成功!
837  result = true;
838  } while ( false );
839 
840  // 実行結果を返す
841  return result;
842  }
virtual bool GetChildElementListInfo(CWndPane *pcParent, SChildPaneInfo &rsChildInfo) noexcept
子エレメントウィンドウリスト情報取得関数
Definition: CWndList.cpp:449
CWndList m_cOverlapList
オーバーラップウィンドウリスト
Definition: CWndMain.h:677
CWndList m_cFloatingList
フローティングウィンドウリスト
Definition: CWndMain.h:678
virtual bool GetChildPaneInfo(SChildPaneInfo &rsChildInfo) noexcept override
子ペインウィンドウ情報取得関数

呼び出し関係図:

int LibWindow::CWndMain::GetOrderIndex ( CWndPane pcPane = nullptr,
int *  pnOrder = nullptr 
)
overridevirtualnoexcept

ペインウィンドウオーダー番号取得関数

ペインウィンドウオーダー番号取得関数です。

引数
[in]pcPaneペインウィンドウポインタ
[in,out]pnOrderオーダー番号ポインタ
戻り値
オーダー番号
  • 0以上 成功
  • 0未満 失敗
注意
オーバライド関数です。

LibWindow::CWndPartitionを再実装しています。

CWndMain.cpp846 行目に定義があります。

参照先 LibWindow::CWndList::GetElementListOrderIndex(), LibWindow::CWndPartition::GetOrderIndex(), m_cFloatingList, m_cOverlapList.

846  {
847  // 処理ブロック
848  int result = -1;
849  do {
850  // 基底クラスの関数を実行する
851  int nOrder = CWndOverlap::GetOrderIndex( pcPane, pnOrder );
852  if ( 0 > nOrder ) {
853  // オーバーラップウィンドウリストオーダー番号を取得する
854  nOrder = m_cOverlapList.GetElementListOrderIndex( pcPane, pnOrder );
855  if ( 0 > nOrder ) {
856  // フローティングウィンドウリストオーダー番号を取得する
857  nOrder = m_cFloatingList.GetElementListOrderIndex( pcPane, pnOrder );
858  if ( 0 > nOrder ) {
859  // 失敗!
860  break;
861  }
862  }
863  }
864 
865  // 成功!
866  result = nOrder;
867  } while ( false );
868 
869  // 実行結果を返す
870  return result;
871  }
virtual int GetOrderIndex(CWndPane *pcPane=nullptr, int *pnOrder=nullptr) noexcept override
ペインウィンドウオーダー番号取得関数
CWndList m_cOverlapList
オーバーラップウィンドウリスト
Definition: CWndMain.h:677
CWndList m_cFloatingList
フローティングウィンドウリスト
Definition: CWndMain.h:678
virtual int GetElementListOrderIndex(CWndPane *pcPane, int *pnOrder) noexcept
エレメントウィンドウリストオーダー番号取得関数
Definition: CWndList.cpp:511

呼び出し関係図:

CWndPane * LibWindow::CWndMain::GetOrderPane ( int *  pnOrder)
overridevirtualnoexcept

オーダー番号ペインウィンドウ取得関数

オーダー番号ペインウィンドウ取得関数です。

引数
[in,out]pnOrderオーダー番号ポインタ
戻り値
ペインウィンドウポインタ
注意
オーバライド関数です。

LibWindow::CWndPartitionを再実装しています。

CWndMain.cpp875 行目に定義があります。

参照先 LibWindow::CWndList::GetElementListOrderPane(), LibWindow::CWndPartition::GetOrderPane(), m_cFloatingList, m_cOverlapList.

参照元 ResumeConfig().

875  {
876  // 処理ブロック
877  CWndPane* result = nullptr;
878  do {
879  // 基底クラスの関数を実行する
880  CWndPane* pcPane = CWndOverlap::GetOrderPane( pnOrder );
881  if ( nullptr == pcPane ) {
882  // オーバーラップウィンドウリストオーダー番号ペインウィンドウを取得する
883  pcPane = m_cOverlapList.GetElementListOrderPane( pnOrder );
884  if ( nullptr == pcPane ) {
885  // フローティングウィンドウリストオーダー番号ペインウィンドウを取得する
886  pcPane = m_cFloatingList.GetElementListOrderPane( pnOrder );
887  if ( nullptr == pcPane ) {
888  // 失敗!
889  break;
890  }
891  }
892  }
893 
894  // 成功!
895  result = pcPane;
896  } while ( false );
897 
898  // 実行結果を返す
899  return result;
900  }
CWndPane() noexcept
コンストラクタ
Definition: CWndPane.cpp:30
virtual CWndPane * GetOrderPane(int *pnOrder) noexcept override
オーダー番号ペインウィンドウ取得関数
virtual CWndPane * GetElementListOrderPane(int *pnOrder) noexcept
エレメントウィンドウリストオーダー番号ペインウィンドウ取得関数
Definition: CWndList.cpp:537
CWndList m_cOverlapList
オーバーラップウィンドウリスト
Definition: CWndMain.h:677
CWndList m_cFloatingList
フローティングウィンドウリスト
Definition: CWndMain.h:678

呼び出し関係図:

被呼び出し関係図:

bool LibWindow::CWndMain::DeleteChildWindow ( CWndPane pcChild)
overridevirtualnoexcept

子ウィンドウ削除関数

子ウィンドウ削除関数です。

引数
[in]pcChildペインウィンドウポインタ
戻り値
実行結果
  • true 成功
  • false 失敗
注意
オーバライド関数です。

LibWindow::CWndContainerを再実装しています。

CWndMain.cpp904 行目に定義があります。

参照先 LibWindow::CWndContainer::DeleteChildWindow(), LibWindow::IsOwnOrChild(), m_cFloatingList, m_cOverlapList, LibWindow::CWndBase::m_hWnd, LibWindow::CWndList::RemoveElementWindow(), LibWindow::CWndPane::s_hFocus.

904  {
905  // 処理ブロック
906  bool result = false;
907  do {
908  // 子ペインウィンドウポインタを調べる
909  if ( nullptr == pcChild ) {
910  // 失敗!
911  break;
912  }
913 
914  // フォーカスウィンドウ保存ハンドルを調べる
915  bool bFocus = ( IsOwnOrChild( m_hWnd, s_hFocus ) );
916 
917  // オーバーラップウィンドウリストから削除する
918  if ( m_cOverlapList.RemoveElementWindow( pcChild ) ) {
919  // 子ウィンドウインスタンスを削除する
920  delete pcChild;
921 
922  // フォーカス状態を調べる
923  if ( bFocus ) {
924  // フォーカスウィンドウをクリアする
925  ::SetFocus( nullptr );
926 
927  // フォーカスウィンドウを設定する
928  ::SetFocus( m_hWnd );
929  }
930 
931  // 成功!
932  result = true;
933  break;
934  }
935  // フローティングウィンドウリストから削除する
936  else if ( m_cFloatingList.RemoveElementWindow( pcChild ) ) {
937  // 子ウィンドウインスタンスを削除する
938  delete pcChild;
939 
940  // フォーカス状態を調べる
941  if ( bFocus ) {
942  // フォーカスウィンドウをクリアする
943  ::SetFocus( nullptr );
944 
945  // フォーカスウィンドウを設定する
946  ::SetFocus( m_hWnd );
947  }
948 
949  // 成功!
950  result = true;
951  break;
952  }
953 
954  // 基底クラスの関数を実行する
955  result = CWndOverlap::DeleteChildWindow( pcChild );
956  } while ( false );
957 
958  // 実行結果を返す
959  return result;
960  }
HWND m_hWnd
ウィンドウハンドル
Definition: CWndBase.h:1539
static HWND s_hFocus
フォーカスウィンドウ保存ハンドル
Definition: CWndPane.h:697
virtual bool DeleteChildWindow(CWndPane *pcChild) noexcept override
子ウィンドウ削除関数
virtual bool RemoveElementWindow(CWndElement *pcElement) noexcept
エレメントウィンドウ削除関数
Definition: CWndList.h:196
CWndList m_cOverlapList
オーバーラップウィンドウリスト
Definition: CWndMain.h:677
CWndList m_cFloatingList
フローティングウィンドウリスト
Definition: CWndMain.h:678
LIB_WINDOW_API bool IsOwnOrChild(HWND hWnd, HWND hChild) noexcept
自分または子ウィンドウ判定関数

呼び出し関係図:

bool LibWindow::CWndMain::ShowChildAll ( bool  bShow)
overridevirtualnoexcept

全子ウィンドウ表示関数

全子ウィンドウ表示関数です。

引数
[in]bShowウィンドウ表示フラグ
戻り値
実行結果
  • true 成功
  • false 失敗
注意
オーバライド関数です。

LibWindow::CWndPartitionを再実装しています。

CWndMain.cpp964 行目に定義があります。

参照先 m_cFloatingList, m_cOverlapList, LibWindow::CWndPartition::ShowChildAll(), LibWindow::CWndList::ShowElementListAll().

参照元 ExecMenuCommand().

964  {
965  // 処理ブロック
966  bool result = false;
967  do {
968  // 基底クラスの関数を実行する
969  if ( !CWndOverlap::ShowChildAll( bShow ) ) {
970  // 失敗!
971  break;
972  }
973  // 全オーバーラップウィンドウリストを表示する
974  else if ( !m_cOverlapList.ShowElementListAll( this, bShow ) ) {
975  // 失敗!
976  break;
977  }
978  // 全フローティングウィンドウリストを表示する
979  else if ( !m_cFloatingList.ShowElementListAll( this, bShow ) ) {
980  // 失敗!
981  break;
982  }
983 
984  // 成功!
985  result = true;
986  } while ( false );
987 
988  // 実行結果を返す
989  return result;
990  }
CWndList m_cOverlapList
オーバーラップウィンドウリスト
Definition: CWndMain.h:677
CWndList m_cFloatingList
フローティングウィンドウリスト
Definition: CWndMain.h:678
virtual bool ShowElementListAll(CWndPane *pcParent, bool bShow) noexcept
全エレメントウィンドウリスト表示関数
Definition: CWndList.cpp:563
virtual bool ShowChildAll(bool bShow) noexcept override
全子ウィンドウ表示関数

呼び出し関係図:

被呼び出し関係図:

bool LibWindow::CWndMain::DeleteChildAll ( )
overridevirtualnoexcept

全子ウィンドウ削除関数

全子ウィンドウ削除関数です。

引数
なし
戻り値
実行結果
  • true 成功
  • false 失敗
注意
オーバライド関数です。

LibWindow::CWndPartitionを再実装しています。

CWndMain.cpp994 行目に定義があります。

参照先 LibWindow::CWndPartition::DeleteChildAll(), LibWindow::CWndList::DeleteElementListAll(), m_cFloatingList, m_cOverlapList.

参照元 ExecMenuCommand().

994  {
995  // 処理ブロック
996  bool result = false;
997  do {
998  // 全フローティングウィンドウリストを削除する
999  if ( !m_cFloatingList.DeleteElementListAll( this ) ) {
1000  // 失敗!
1001  break;
1002  }
1003  // 全オーバーラップウィンドウリストを削除する
1004  else if ( !m_cOverlapList.DeleteElementListAll( this ) ) {
1005  // 失敗!
1006  break;
1007  }
1008 
1009  // 基底クラスの関数を実行する
1010  result = CWndOverlap::DeleteChildAll();
1011  } while ( false );
1012 
1013  // 実行結果を返す
1014  return result;
1015  }
virtual bool DeleteChildAll() noexcept override
全子ウィンドウ削除関数
CWndList m_cOverlapList
オーバーラップウィンドウリスト
Definition: CWndMain.h:677
CWndList m_cFloatingList
フローティングウィンドウリスト
Definition: CWndMain.h:678
virtual bool DeleteElementListAll(CWndPane *pcParent) noexcept
全エレメントウィンドウリスト削除関数
Definition: CWndList.cpp:605

呼び出し関係図:

被呼び出し関係図:

bool LibWindow::CWndMain::UpdateClientRectAll ( )
overridevirtualnoexcept

全ウィンドウクライアント領域更新関数

全ウィンドウクライアント領域更新関数です。

引数
なし
戻り値
実行結果
  • true 成功
  • false 失敗
注意
オーバライド関数です。

LibWindow::CWndPartitionを再実装しています。

CWndMain.cpp1349 行目に定義があります。

参照先 LibCommon::CArray< Type >::GetCount(), m_cFloatingList, m_cOverlapList, LibWindow::CWndPartition::UpdateClientRectAll(), LibWindow::CWndPane::UpdateClientRectAll().

参照元 ShowDebugInfo().

1349  {
1350  // 処理ブロック
1351  bool result = false;
1352  do {
1353  // 基底クラスの関数を実行する
1355  // 失敗!
1356  break;
1357  }
1358 
1359  // 巡回する
1360  for ( int nIndex = 0, nCount = m_cOverlapList.GetCount(); nCount > nIndex; ++nIndex ) {
1361  // エレメントウィンドウを取得する
1362  CWndElement* pcElement = m_cOverlapList[ nIndex ];
1363  if ( nullptr != pcElement ) {
1364  // 全ウィンドウクライアント領域を更新する
1365  pcElement->UpdateClientRectAll();
1366  }
1367  }
1368 
1369  // 巡回する
1370  for ( int nIndex = 0, nCount = m_cFloatingList.GetCount(); nCount > nIndex; ++nIndex ) {
1371  // エレメントウィンドウを取得する
1372  CWndElement* pcElement = m_cFloatingList[ nIndex ];
1373  if ( nullptr != pcElement ) {
1374  // 全ウィンドウクライアント領域を更新する
1375  pcElement->UpdateClientRectAll();
1376  }
1377  }
1378 
1379  // 成功!
1380  result = true;
1381  } while ( false );
1382 
1383  // 実行結果を返す
1384  return result;
1385  }
CWndPane CWndElement
エレメントウィンドウクラス型
Definition: CWndList.h:26
virtual bool UpdateClientRectAll() noexcept override
全ウィンドウクライアント領域更新関数
CWndList m_cOverlapList
オーバーラップウィンドウリスト
Definition: CWndMain.h:677
CWndList m_cFloatingList
フローティングウィンドウリスト
Definition: CWndMain.h:678
virtual int GetCount() const noexcept
配列要素数取得関数
Definition: CArray.h:149

呼び出し関係図:

被呼び出し関係図:

bool LibWindow::CWndMain::ExecMenuCommand ( WORD  wId,
WORD  wCode,
HWND  hCtrl 
)
overridevirtualnoexcept

メニューコマンド実行関数

メニューコマンド実行関数です。

引数
[in]wIdコマンドID
[in]wCode通知コード
[in]hCtrlコントロールハンドル
戻り値
実行結果
  • true 成功
  • false 失敗
注意
オーバライド関数です。

LibWindow::CWndContainerを再実装しています。

CWndMain.cpp1019 行目に定義があります。

参照先 AppendNewFloatingWindow(), AppendNewOverlapWindow(), LibWindow::Bottom, DeleteChildAll(), DockingToFloating(), LibWindow::CWndContainer::ExecMenuCommand(), FloatingToDocking(), LibWindow::CWndBase::GetHandle(), LibWindow::ID_DEBUG_DELETE_ALL, LibWindow::ID_DEBUG_DRAW_DOUBLE_BUFFER, LibWindow::ID_DEBUG_HIDE_ALL, LibWindow::ID_DEBUG_NEW_FLOATING, LibWindow::ID_DEBUG_NEW_OVERLAP, LibWindow::ID_DEBUG_REALTIME_RESIZE_PARTITION, LibWindow::ID_DEBUG_SHOW_ALL, LibWindow::ID_DEBUG_SHOW_DENUG_INFO, LibWindow::ID_FILE_EXIT, LibWindow::ID_HELP_ABOUT, LibWindow::ID_VIEW_STATUSBAR, LibWindow::ID_VIEW_TOOLBAR, LibWindow::ID_WINDOW_DOCKING, LibWindow::ID_WINDOW_FLOATING, LibWindow::ID_WINDOW_POS_BOTTOM, LibWindow::ID_WINDOW_POS_FULL, LibWindow::ID_WINDOW_POS_LEFT, LibWindow::ID_WINDOW_POS_MAXIMIZE, LibWindow::ID_WINDOW_POS_RIGHT, LibWindow::ID_WINDOW_POS_TOP, LibWindow::Left, m_cToolBar, m_hStatusBar, LibWindow::CWndBase::m_hWnd, LibWindow::Right, LibWindow::CWndPane::s_bDrawDoubleBuffer, LibWindow::CWndPane::s_bResizePartitionRealTime, LibCommon::SetWindowPosition(), ShowChildAll(), ShowDebugInfo(), LibCommon::ShowMessage(), LibWindow::Top, UpdateMenuBar() (計41項目).

参照元 WmCommand().

1019  {
1020  // 処理ブロック
1021  bool result = false;
1022  do {
1023  // コマンドIDを調べる
1024  switch ( wId ) {
1025  case ID_FILE_EXIT: // ファイル::終了
1026  // クローズメッセージをポストする
1027  ::PostMessageW( m_hWnd, WM_CLOSE, 0, 0 );
1028 
1029  // 成功!
1030  result = true;
1031  break;
1032  case ID_VIEW_TOOLBAR: // 表示::ツールバー
1033  // ツールバー表示状態を調べる
1034  if ( 0 == ::IsWindowVisible( m_cToolBar.GetHandle() ) ) {
1035  // ツールバーを表示する
1036  ::ShowWindow( m_cToolBar.GetHandle(), SW_SHOWNA );
1037  }
1038  else {
1039  // ツールバーを隠す
1040  ::ShowWindow( m_cToolBar.GetHandle(), SW_HIDE );
1041  }
1042 
1043  // WM_SIZEメッセージを送信する
1044  ::SendMessageW( m_hWnd, WM_SIZE, 0, 0 );
1045  ::UpdateWindow( m_hWnd );
1046 
1047  // 成功!
1048  result = true;
1049  break;
1050  case ID_VIEW_STATUSBAR: // 表示::ステータスバー
1051  // ステータスバー表示状態を調べる
1052  if ( 0 == ::IsWindowVisible( m_hStatusBar ) ) {
1053  // ステータスバーを表示する
1054  ::ShowWindow( m_hStatusBar, SW_SHOWNA );
1055  }
1056  else {
1057  // ステータスバーを隠す
1058  ::ShowWindow( m_hStatusBar, SW_HIDE );
1059  }
1060 
1061  // WM_SIZEメッセージを送信する
1062  ::SendMessageW( m_hWnd, WM_SIZE, 0, 0 );
1063  ::UpdateWindow( m_hWnd );
1064 
1065  // 成功!
1066  result = true;
1067  break;
1068  case ID_WINDOW_FLOATING: // ウィンドウ::フローティング
1069  // ドッキングウィンドウをフローティング表示する
1070  DockingToFloating( hCtrl );
1071 
1072  // 成功!
1073  result = true;
1074  break;
1075  case ID_WINDOW_DOCKING: // ウィンドウ::ドッキング
1076  // フローティングウィンドウをドッキング表示する
1077  FloatingToDocking( hCtrl );
1078 
1079  // 成功!
1080  result = true;
1081  break;
1082  case ID_WINDOW_POS_LEFT: // ウィンドウ::表示位置::左側
1083  // ウィンドウを左端に表示する
1085 
1086  // 成功!
1087  result = true;
1088  break;
1089  case ID_WINDOW_POS_RIGHT: // ウィンドウ::表示位置::右側
1090  // ウィンドウを右端に表示する
1092 
1093  // 成功!
1094  result = true;
1095  break;
1096  case ID_WINDOW_POS_TOP: // ウィンドウ::表示位置::上側
1097  // ウィンドウを上端に表示する
1099 
1100  // 成功!
1101  result = true;
1102  break;
1103  case ID_WINDOW_POS_BOTTOM: // ウィンドウ::表示位置::下側
1104  // ウィンドウを下端に表示する
1106 
1107  // 成功!
1108  result = true;
1109  break;
1110  case ID_WINDOW_POS_FULL: // ウィンドウ::表示位置::フルサイズ
1111  // ウィンドウをフルサイズ表示する
1112  SetWindowPosition( m_hWnd, EWindowPosition::Full );
1113 
1114  // 成功!
1115  result = true;
1116  break;
1117  case ID_WINDOW_POS_MAXIMIZE: // ウィンドウ::表示位置::最大化
1118  // ウィンドウ最大化状態を調べる
1119  if ( ::IsZoomed( m_hWnd ) ) {
1120  // ウィンドウを通常表示する
1121  ::ShowWindow( m_hWnd, SW_SHOWNOACTIVATE );
1122  }
1123  else {
1124  // ウィンドウを最大化する
1125  ::ShowWindow( m_hWnd, SW_SHOWMAXIMIZED );
1126  }
1127 
1128  // 成功!
1129  result = true;
1130  break;
1131  case ID_HELP_ABOUT: // ヘルプ::バージョン情報
1132  // メッセージを表示する
1133  ShowMessage( L"こんにちわ!世界" );
1134 
1135  // 成功!
1136  result = true;
1137  break;
1138  case ID_DEBUG_SHOW_ALL: // デバッグ::すべて表示
1139  // 全子ウィンドウを表示する
1140  ShowChildAll( true );
1141 
1142  // 成功!
1143  result = true;
1144  break;
1145  case ID_DEBUG_HIDE_ALL: // デバッグ::すべて隠す
1146  // 全子ウィンドウを隠す
1147  ShowChildAll( false );
1148 
1149  // 成功!
1150  result = true;
1151  break;
1152  case ID_DEBUG_DELETE_ALL: // デバッグ::すべて削除
1153  {
1154  // 確認する
1155  int nResult = ShowMessage( L"この操作は元に戻せません。\r\n本当に削除しても良いですか?", m_hWnd, MB_OKCANCEL );
1156  if ( IDOK == nResult ) {
1157  // 全子ウィンドウを削除する
1158  DeleteChildAll();
1159  }
1160  }
1161 
1162  // 成功!
1163  result = true;
1164  break;
1165  case ID_DEBUG_SHOW_DENUG_INFO: // デバッグ::デバッグ情報表示
1166  // デバッグ情報を表示する
1167  ShowDebugInfo();
1168 
1169  // 成功!
1170  result = true;
1171  break;
1172  case ID_DEBUG_DRAW_DOUBLE_BUFFER: // デバッグ::ダブルバッファリング描画
1173  // ダブルバッファリング描画フラグを反転する
1175 
1176  // 成功!
1177  result = true;
1178  break;
1179  case ID_DEBUG_REALTIME_RESIZE_PARTITION: // デバッグ::リアルタイムパーティションサイズ変更
1180  // リアルタイムパーティションサイズ変更フラグを反転する
1182 
1183  // 成功!
1184  result = true;
1185  break;
1186  case ID_DEBUG_NEW_OVERLAP: // デバッグ::新規オーバーラップウィンドウ
1187  // 新規オーバーラップウィンドウを追加する
1189 
1190  // 成功!
1191  result = true;
1192  break;
1193  case ID_DEBUG_NEW_FLOATING: // デバッグ::新規フローティングウィンドウ
1194  // 新規フローティングウィンドウを追加する
1196 
1197  // 成功!
1198  result = true;
1199  break;
1200  default:
1201  // 基底クラスの関数を実行する
1202  result = CWndOverlap::ExecMenuCommand( wId, wCode, hCtrl );
1203  break;
1204  }
1205 
1206  // 実行結果を調べる
1207  if ( result ) {
1208  // メニューバーを更新する
1209  UpdateMenuBar();
1210  }
1211  } while ( false );
1212 
1213  // 実行結果を返す
1214  return result;
1215  }
constexpr WORD const ID_DEBUG_REALTIME_RESIZE_PARTITION
デバッグ::リアルタイムパーティションサイズ変更
Definition: CommandIdDef.h:66
virtual HWND & GetHandle() noexcept
ウィンドウハンドル取得関数
Definition: CWndBase.h:69
virtual bool AppendNewFloatingWindow() noexcept
新規フローティングウィンドウ追加関数
Definition: CWndMain.cpp:1440
constexpr WORD const ID_WINDOW_POS_LEFT
ウィンドウ::表示位置::左側
Definition: CommandIdDef.h:51
constexpr WORD const ID_DEBUG_HIDE_ALL
デバッグ::すべて隠す
Definition: CommandIdDef.h:62
constexpr WORD const ID_DEBUG_SHOW_DENUG_INFO
デバッグ::デバッグ情報表示
Definition: CommandIdDef.h:64
constexpr WORD const ID_DEBUG_DRAW_DOUBLE_BUFFER
デバッグ::ダブルバッファリング描画
Definition: CommandIdDef.h:65
LIB_COMMON_API int ShowMessage(wchar_t const *pszMessage, HWND hWnd=nullptr, UINT uType=(MB_OK|MB_ICONEXCLAMATION)) noexcept
メッセージ表示関数
Definition: LibUtility.cpp:144
CWndToolBar m_cToolBar
ツールバー
Definition: CWndMain.h:676
virtual bool AppendNewOverlapWindow() noexcept
新規オーバーラップウィンドウ追加関数
Definition: CWndMain.cpp:1409
constexpr WORD const ID_WINDOW_FLOATING
ウィンドウ::フローティング
Definition: CommandIdDef.h:48
constexpr WORD const ID_WINDOW_POS_RIGHT
ウィンドウ::表示位置::右側
Definition: CommandIdDef.h:52
virtual bool DockingToFloating(HWND hWnd) noexcept
ドッキングウィンドウフローティング表示関数
Definition: CWndMain.cpp:1471
constexpr WORD const ID_DEBUG_SHOW_ALL
デバッグ::すべて表示
Definition: CommandIdDef.h:61
constexpr WORD const ID_VIEW_TOOLBAR
表示::ツールバー
Definition: CommandIdDef.h:43
constexpr WORD const ID_WINDOW_POS_BOTTOM
ウィンドウ::表示位置::下側
Definition: CommandIdDef.h:54
constexpr WORD const ID_FILE_EXIT
ファイル::終了
Definition: CommandIdDef.h:35
HWND m_hWnd
ウィンドウハンドル
Definition: CWndBase.h:1539
constexpr WORD const ID_WINDOW_POS_FULL
ウィンドウ::表示位置::フルサイズ
Definition: CommandIdDef.h:55
virtual bool ShowChildAll(bool bShow) noexcept override
全子ウィンドウ表示関数
Definition: CWndMain.cpp:964
constexpr WORD const ID_DEBUG_NEW_FLOATING
デバッグ::新規フローティングウィンドウ
Definition: CommandIdDef.h:75
constexpr WORD const ID_WINDOW_DOCKING
ウィンドウ::ドッキング
Definition: CommandIdDef.h:49
static bool s_bResizePartitionRealTime
リアルタイムパーティションサイズ変更フラグ
Definition: CWndPane.h:695
constexpr WORD const ID_DEBUG_NEW_OVERLAP
デバッグ::新規オーバーラップウィンドウ
Definition: CommandIdDef.h:74
constexpr WORD const ID_WINDOW_POS_MAXIMIZE
ウィンドウ::表示位置::最大化
Definition: CommandIdDef.h:56
virtual bool FloatingToDocking(HWND hWnd) noexcept
フローティングウィンドウドッキング表示関数
Definition: CWndMain.cpp:1553
constexpr WORD const ID_DEBUG_DELETE_ALL
デバッグ::すべて削除
Definition: CommandIdDef.h:63
static bool s_bDrawDoubleBuffer
ダブルバッファリング描画フラグ
Definition: CWndPane.h:694
constexpr WORD const ID_VIEW_STATUSBAR
表示::ステータスバー
Definition: CommandIdDef.h:44
virtual bool DeleteChildAll() noexcept override
全子ウィンドウ削除関数
Definition: CWndMain.cpp:994
HWND m_hStatusBar
ステータスバーコントロールハンドル
Definition: CWndMain.h:674
virtual bool ShowDebugInfo() noexcept
デバッグ情報表示関数
Definition: CWndMain.cpp:1389
constexpr WORD const ID_HELP_ABOUT
ヘルプ::バージョン情報
Definition: CommandIdDef.h:57
virtual bool UpdateMenuBar() noexcept
メニューバー更新関数
Definition: CWndMain.cpp:1628
virtual bool ExecMenuCommand(WORD wId, WORD wCode, HWND hCtrl) noexcept override
メニューコマンド実行関数
LIB_COMMON_API bool SetWindowPosition(HWND hWnd, EWindowPosition ePos) noexcept
ウィンドウ表示位置設定関数
Definition: LibUtility.cpp:452
constexpr WORD const ID_WINDOW_POS_TOP
ウィンドウ::表示位置::上側
Definition: CommandIdDef.h:53

呼び出し関係図:

被呼び出し関係図:

HMENU LibWindow::CWndMain::CreateContextMenu ( )
overridevirtualnoexcept

コンテキストメニュー作成関数

コンテキストメニュー作成関数です。

引数
なし
戻り値
メニューハンドル
注意
オーバライド関数です。

LibWindow::CWndPaneを再実装しています。

CWndMain.cpp1219 行目に定義があります。

参照先 AppendCommonDebugMenu(), AppendDebugMenu(), LibWindow::GetEnableMenuCommandCount(), LibWindow::CWndBase::m_hWnd.

1219  {
1220  // 処理ブロック
1221  HMENU result = nullptr;
1222  do {
1223  // ポップアップメニューを作成する
1224  HMENU hMenu = ::CreatePopupMenu();
1225  if ( nullptr == hMenu ) {
1226  // 失敗!
1227  break;
1228  }
1229 
1230  // サブメニューを作成する
1231  HMENU hSubMenu = ::CreatePopupMenu();
1232  if ( nullptr != hSubMenu ) {
1233  // 共通デバッグメニューを追加する
1234  AppendCommonDebugMenu( hSubMenu );
1235 
1236  // サブメニューを追加する
1237  ::AppendMenuW( hMenu, MF_POPUP, reinterpret_cast< UINT_PTR >( hSubMenu ), L"共通" );
1238  if ( 0 >= GetEnableMenuCommandCount( hSubMenu ) ) {
1239  // サブメニューを無効化する
1240  ::EnableMenuItem( hMenu, ( ::GetMenuItemCount( hMenu ) - 1 ), ( MF_BYPOSITION | MFS_DISABLED ) );
1241  }
1242 
1243  // セパレータを追加する
1244  ::AppendMenuW( hMenu, MF_SEPARATOR, 0, nullptr );
1245  }
1246 
1247  // ウィンドウタイトルを取得する
1248  wchar_t szBuffer[ MAX_PATH ];
1249  ::GetWindowTextW( m_hWnd, szBuffer, MAX_PATH );
1250 
1251  // メニュー見出しを追加する
1252  ::AppendMenuW( hMenu, MF_STRING, 0, szBuffer );
1253  ::EnableMenuItem( hMenu, ( ::GetMenuItemCount( hMenu ) - 1 ), ( MF_BYPOSITION | MFS_GRAYED ) );
1254 
1255  // デバッグメニューを追加する
1256  AppendDebugMenu( hMenu );
1257 
1258  // 成功!
1259  result = hMenu;
1260  } while ( false );
1261 
1262  // 実行結果を返す
1263  return result;
1264  }
LIB_WINDOW_API int GetEnableMenuCommandCount(HMENU hMenu) noexcept
メニューコマンド有効数取得関数
HWND m_hWnd
ウィンドウハンドル
Definition: CWndBase.h:1539
virtual bool AppendDebugMenu(HMENU hMenu) noexcept override
デバッグメニュー追加関数
Definition: CWndMain.cpp:1268
virtual bool AppendCommonDebugMenu(HMENU hMenu) noexcept
共通デバッグメニュー追加関数
Definition: CWndMain.cpp:1565

呼び出し関係図:

bool LibWindow::CWndMain::AppendDebugMenu ( HMENU  hMenu)
overridevirtualnoexcept

デバッグメニュー追加関数

デバッグメニュー追加関数です。

引数
[in]hMenuメニューハンドル
戻り値
実行結果
  • true 成功
  • false 失敗
注意
オーバライド関数です。

LibWindow::CWndPartitionを再実装しています。

CWndMain.cpp1268 行目に定義があります。

参照先 LibWindow::CWndPartition::AppendDebugMenu(), LibWindow::CWndList::AppendElementListDebugSubMenu(), LibWindow::ID_DEBUG_NEW_FLOATING, LibWindow::ID_DEBUG_NEW_OVERLAP, m_cFloatingList, m_cOverlapList.

参照元 AppendMainMenu(), CreateContextMenu().

1268  {
1269  // 処理ブロック
1270  bool result = false;
1271  do {
1272  // 基底クラスの関数を実行する
1273  if ( !CWndOverlap::AppendDebugMenu( hMenu ) ) {
1274  // 失敗!
1275  break;
1276  }
1277  // オーバーラップウィンドウリストデバッグサブメニューを追加する
1278  else if ( !m_cOverlapList.AppendElementListDebugSubMenu( hMenu, this, L"オーバーラップウィンドウ", ID_DEBUG_NEW_OVERLAP ) ) {
1279  // 失敗!
1280  break;
1281  }
1282  // フローティングウィンドウリストデバッグサブメニューを追加する
1283  else if ( !m_cFloatingList.AppendElementListDebugSubMenu( hMenu, this, L"フローティングウィンドウ", ID_DEBUG_NEW_FLOATING ) ) {
1284  // 失敗!
1285  break;
1286  }
1287 
1288  // 成功!
1289  result = true;
1290  } while ( false );
1291 
1292  // 実行結果を返す
1293  return result;
1294  }
virtual bool AppendDebugMenu(HMENU hMenu) noexcept override
デバッグメニュー追加関数
constexpr WORD const ID_DEBUG_NEW_FLOATING
デバッグ::新規フローティングウィンドウ
Definition: CommandIdDef.h:75
constexpr WORD const ID_DEBUG_NEW_OVERLAP
デバッグ::新規オーバーラップウィンドウ
Definition: CommandIdDef.h:74
virtual bool AppendElementListDebugSubMenu(HMENU hMenu, CWndPane *pcParent, wchar_t const *pszElementName, WORD wIdNew) noexcept
エレメントウィンドウリストデバッグサブメニュー追加関数
Definition: CWndList.cpp:720
CWndList m_cOverlapList
オーバーラップウィンドウリスト
Definition: CWndMain.h:677
CWndList m_cFloatingList
フローティングウィンドウリスト
Definition: CWndMain.h:678

呼び出し関係図:

被呼び出し関係図:

virtual bool LibWindow::CWndMain::AppendShowDeleteMenu ( HMENU  hMenu)
inlineoverridevirtualnoexcept

表示削除メニュー追加関数

表示削除メニュー追加関数です。

引数
[in]hMenuメニューハンドル
戻り値
実行結果
  • true 成功
  • false 失敗
注意
オーバライド関数です。

LibWindow::CWndPaneを再実装しています。

CWndMain.h301 行目に定義があります。

301 { return true; }
bool LibWindow::CWndMain::GetPartitionClientRect ( RECT &  rsRect)
overridevirtualnoexcept

パーティション表示クライアント領域取得関数

パーティション表示クライアント領域取得関数です。

引数
[out]rsRect矩形領域参照
戻り値
実行結果
  • true 成功
  • false 失敗
注意
オーバライド関数です。

LibWindow::CWndPartitionを再実装しています。

CWndMain.cpp1298 行目に定義があります。

参照先 LibWindow::CWndBase::GetHandle(), m_cToolBar, m_hSeparator, m_hStatusBar, LibWindow::CWndBase::m_hWnd, LibWindow::CWndBase::SubtractChildRect().

1298  {
1299  // 処理ブロック
1300  bool result = false;
1301  do {
1302  // クライアント領域を取得する
1303  RECT sClientRect;
1304  if ( 0 == ::GetClientRect( m_hWnd, &sClientRect ) ) {
1305  // 失敗!
1306  break;
1307  }
1308 
1309  // ツールバー表示状態を調べる
1310  if ( 0 != ::IsWindowVisible( m_cToolBar.GetHandle() ) ) {
1311  // クライアント領域から減算する
1312  if ( !SubtractChildRect( m_cToolBar.GetHandle(), sClientRect ) ) {
1313  // 失敗!
1314  break;
1315  }
1316  }
1317 
1318  // セパレータ表示状態を調べる
1319  if ( 0 != ::IsWindowVisible( m_hSeparator ) ) {
1320  // クライアント領域から減算する
1321  if ( !SubtractChildRect( m_hSeparator, sClientRect ) ) {
1322  // 失敗!
1323  break;
1324  }
1325  }
1326 
1327  // ステータスバー表示状態を調べる
1328  if ( 0 != ::IsWindowVisible( m_hStatusBar ) ) {
1329  // クライアント領域から減算する
1330  if ( !SubtractChildRect( m_hStatusBar, sClientRect ) ) {
1331  // 失敗!
1332  break;
1333  }
1334  }
1335 
1336  // 子ウィンドウ表示領域を取得する
1337  rsRect = sClientRect;
1338 
1339  // 成功!
1340  result = true;
1341  } while ( false );
1342 
1343  // 実行結果を返す
1344  return result;
1345  }
virtual HWND & GetHandle() noexcept
ウィンドウハンドル取得関数
Definition: CWndBase.h:69
CWndToolBar m_cToolBar
ツールバー
Definition: CWndMain.h:676
virtual bool SubtractChildRect(HWND hChild, RECT &rsRect) noexcept
子ウィンドウ表示領域減算関数
Definition: CWndBase.cpp:1425
HWND m_hWnd
ウィンドウハンドル
Definition: CWndBase.h:1539
HWND m_hSeparator
セパレータコントロールハンドル
Definition: CWndMain.h:675
HWND m_hStatusBar
ステータスバーコントロールハンドル
Definition: CWndMain.h:674

呼び出し関係図:

bool LibWindow::CWndMain::ShowDebugInfo ( )
virtualnoexcept

デバッグ情報表示関数

デバッグ情報表示関数です。

引数
なし
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CWndMain.cpp1389 行目に定義があります。

参照先 LibWindow::CWndPane::s_bShowDebugInfo, UpdateClientRectAll().

参照元 ExecMenuCommand().

1389  {
1390  // 処理ブロック
1391  bool result = false;
1392  do {
1393  // デバッグ情報表示フラグを反転する
1395 
1396  // 全ウィンドウクライアント領域を更新する
1398 
1399  // 成功!
1400  result = true;
1401  } while ( false );
1402 
1403  // 実行結果を返す
1404  return result;
1405  }
virtual bool UpdateClientRectAll() noexcept override
全ウィンドウクライアント領域更新関数
Definition: CWndMain.cpp:1349
static bool s_bShowDebugInfo
デバッグ情報表示フラグ
Definition: CWndPane.h:693

呼び出し関係図:

被呼び出し関係図:

bool LibWindow::CWndMain::AppendNewOverlapWindow ( )
virtualnoexcept

新規オーバーラップウィンドウ追加関数

新規オーバーラップウィンドウ追加関数です。

引数
なし
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CWndMain.cpp1409 行目に定義があります。

参照先 LibWindow::CWndList::AppendNewElementWindow(), CreateOverlapWindow(), LibWindow::CWndBase::GetHandle(), m_cOverlapList, LibWindow::CWndBase::m_hWnd.

参照元 ExecMenuCommand().

1409  {
1410  // 処理ブロック
1411  bool result = false;
1412  do {
1413  // 新規オーバーラップウィンドウを追加する
1415  if ( nullptr == pcElement ) {
1416  // 失敗!
1417  break;
1418  }
1419 
1420  // ウィンドウを表示する
1421  ::ShowWindow( pcElement->GetHandle(), SW_SHOWNA );
1422 
1423  // WM_SIZEメッセージを送信する
1424  ::SendMessageW( pcElement->GetHandle(), WM_SIZE, 0, 0 );
1425  ::UpdateWindow( pcElement->GetHandle() );
1426 
1427  // フォーカスウィンドウを設定する
1428  ::SetFocus( pcElement->GetHandle() );
1429 
1430  // 成功!
1431  result = true;
1432  } while ( false );
1433 
1434  // 実行結果を返す
1435  return result;
1436  }
CWndPane CWndElement
エレメントウィンドウクラス型
Definition: CWndList.h:26
HWND m_hWnd
ウィンドウハンドル
Definition: CWndBase.h:1539
static CWndElement * CreateOverlapWindow() noexcept
オーバーラップウィンドウ作成関数
Definition: CWndMain.h:640
CWndList m_cOverlapList
オーバーラップウィンドウリスト
Definition: CWndMain.h:677
virtual CWndElement * AppendNewElementWindow(HWND hParent, CWndElement *(*pfnCreateElement)()) noexcept
新規エレメントウィンドウ追加関数
Definition: CWndList.cpp:682

呼び出し関係図:

被呼び出し関係図:

bool LibWindow::CWndMain::AppendNewFloatingWindow ( )
virtualnoexcept

新規フローティングウィンドウ追加関数

新規フローティングウィンドウ追加関数です。

引数
なし
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CWndMain.cpp1440 行目に定義があります。

参照先 LibWindow::CWndList::AppendNewElementWindow(), CreateFloatingWindow(), LibWindow::CWndBase::GetHandle(), m_cFloatingList, LibWindow::CWndBase::m_hWnd.

参照元 ExecMenuCommand().

1440  {
1441  // 処理ブロック
1442  bool result = false;
1443  do {
1444  // 新規フローティングウィンドウを追加する
1446  if ( nullptr == pcElement ) {
1447  // 失敗!
1448  break;
1449  }
1450 
1451  // ウィンドウを表示する
1452  ::ShowWindow( pcElement->GetHandle(), SW_SHOWNA );
1453 
1454  // WM_SIZEメッセージを送信する
1455  ::SendMessageW( pcElement->GetHandle(), WM_SIZE, 0, 0 );
1456  ::UpdateWindow( pcElement->GetHandle() );
1457 
1458  // フォーカスウィンドウを設定する
1459  ::SetFocus( pcElement->GetHandle() );
1460 
1461  // 成功!
1462  result = true;
1463  } while ( false );
1464 
1465  // 実行結果を返す
1466  return result;
1467  }
CWndPane CWndElement
エレメントウィンドウクラス型
Definition: CWndList.h:26
static CWndElement * CreateFloatingWindow() noexcept
フローティングウィンドウ作成関数
Definition: CWndMain.h:651
HWND m_hWnd
ウィンドウハンドル
Definition: CWndBase.h:1539
CWndList m_cFloatingList
フローティングウィンドウリスト
Definition: CWndMain.h:678
virtual CWndElement * AppendNewElementWindow(HWND hParent, CWndElement *(*pfnCreateElement)()) noexcept
新規エレメントウィンドウ追加関数
Definition: CWndList.cpp:682

呼び出し関係図:

被呼び出し関係図:

bool LibWindow::CWndMain::DockingToFloating ( HWND  hWnd)
virtualnoexcept

ドッキングウィンドウフローティング表示関数

ドッキングウィンドウフローティング表示関数です。

引数
[in]hWndドッキングウィンドウハンドル
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CWndMain.cpp1471 行目に定義があります。

参照先 LibWindow::CWndList::AppendElementWindow(), LibCommon::CArray< Type >::GetCount(), LibWindow::CWndContainer::GetElementList(), LibWindow::CWndBase::GetHandle(), LibWindow::CWndPane::GetPaneWindow(), m_cFloatingList, LibWindow::CWndBase::m_hWnd, LibWindow::CWndList::RemoveElementWindow().

参照元 ExecMenuCommand().

1471  {
1472  // 処理ブロック
1473  bool result = false;
1474  do {
1475  // ドッキングウィンドウを取得する
1476  CWndDocking* pcDocking = reinterpret_cast< CWndDocking* >( GetPaneWindow( hWnd ) );
1477  if ( nullptr == pcDocking ) {
1478  // 失敗!
1479  break;
1480  }
1481 
1482  // 親パーティションウィンドウを取得する
1483  CWndPartition* pcPartition = reinterpret_cast< CWndPartition* >( GetPaneWindow( ::GetParent( pcDocking->GetHandle() ) ) );
1484  if ( nullptr == pcPartition ) {
1485  // 失敗!
1486  break;
1487  }
1488 
1489  // エレメントウィンドウリストを取得する
1490  CWndList* pcElementList = pcPartition->GetElementList();
1491  if ( nullptr == pcElementList ) {
1492  // 失敗!
1493  break;
1494  }
1495  // エレメントウィンドウリストから削除する
1496  else if ( !pcElementList->RemoveElementWindow( pcDocking ) ) {
1497  // 失敗!
1498  break;
1499  }
1500 
1501  // フローティングウィンドウを作成する
1502  CWndFloating* pcFloating = new CWndFloating( std::move( *pcDocking ) );
1503  if ( nullptr != pcFloating ) {
1504  // フローティングウィンドウを追加する
1505  if ( m_cFloatingList.AppendElementWindow( m_hWnd, pcFloating ) ) {
1506  // エレメントウィンドウリストを取得する
1507  pcElementList = pcFloating->GetElementList();
1508  if ( nullptr != pcElementList ) {
1509  // 巡回する
1510  for ( int nIndex = 0, nCount = pcElementList->GetCount(); nCount > nIndex; ++nIndex ) {
1511  // エレメントウィンドウを取得する
1512  CWndElement* pcElement = ( *pcElementList )[ nIndex ];
1513  if ( nullptr != pcElement ) {
1514  // 親ウィンドウを設定する
1515  ::SetParent( pcElement->GetHandle(), pcFloating->GetHandle() );
1516  }
1517  }
1518  }
1519 
1520  // ウィンドウを表示する
1521  ::ShowWindow( pcFloating->GetHandle(), SW_SHOWNA );
1522 
1523  // WM_SIZEメッセージを送信する
1524  ::SendMessageW( pcFloating->GetHandle(), WM_SIZE, 0, 0 );
1525  ::UpdateWindow( pcFloating->GetHandle() );
1526 
1527  // フォーカスウィンドウを設定する
1528  ::SetFocus( pcFloating->GetHandle() );
1529 
1530  // 成功!
1531  result = true;
1532  }
1533  else {
1534  // フローティングウィンドウを削除する
1535  delete pcFloating;
1536  }
1537  }
1538 
1539  // ドッキングウィンドウを削除する
1540  delete pcDocking;
1541 
1542  // パーティションウィンドウにWM_SIZEメッセージを送信する
1543  ::SendMessageW( pcPartition->GetHandle(), WM_SIZE, 0, 0 );
1544  ::UpdateWindow( pcPartition->GetHandle() );
1545  } while ( false );
1546 
1547  // 実行結果を返す
1548  return result;
1549  }
CWndPane CWndElement
エレメントウィンドウクラス型
Definition: CWndList.h:26
HWND m_hWnd
ウィンドウハンドル
Definition: CWndBase.h:1539
CWndPartition(CWndElement *(*pfnCreateElement)(), wchar_t const *pszElementName) noexcept
コンストラクタ
virtual bool AppendElementWindow(HWND hParent, CWndElement *pcElement) noexcept
エレメントウィンドウ追加関数
Definition: CWndList.cpp:647
CWndList m_cFloatingList
フローティングウィンドウリスト
Definition: CWndMain.h:678
virtual CWndPane * GetPaneWindow(HWND hWnd) const noexcept
表示フラグ取得関数
Definition: CWndPane.h:178

呼び出し関係図:

被呼び出し関係図:

bool LibWindow::CWndMain::FloatingToDocking ( HWND  hWnd)
virtualnoexcept

フローティングウィンドウドッキング表示関数

フローティングウィンドウドッキング表示関数です。

引数
[in]hWndフローティングウィンドウハンドル
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CWndMain.cpp1553 行目に定義があります。

参照元 ExecMenuCommand().

1553  {
1554  // 処理ブロック
1555  bool result = false;
1556  do {
1557  } while ( false );
1558 
1559  // 実行結果を返す
1560  return result;
1561  }

被呼び出し関係図:

bool LibWindow::CWndMain::AppendCommonDebugMenu ( HMENU  hMenu)
virtualnoexcept

共通デバッグメニュー追加関数

共通デバッグメニュー追加関数です。

引数
[in]hMenuメニューハンドル
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CWndMain.cpp1565 行目に定義があります。

参照先 LibWindow::CheckMenuCommand(), LibWindow::EnableMenuCommand(), LibWindow::CWndPane::GetChildCount(), LibWindow::CWndPane::GetDeletableChildCount(), LibWindow::CWndPane::GetHideableChildCount(), LibWindow::CWndPane::GetHideChildCount(), LibWindow::CWndPane::GetShowChildCount(), LibWindow::ID_DEBUG_DELETE_ALL, LibWindow::ID_DEBUG_DRAW_DOUBLE_BUFFER, LibWindow::ID_DEBUG_HIDE_ALL, LibWindow::ID_DEBUG_REALTIME_RESIZE_PARTITION, LibWindow::ID_DEBUG_SHOW_ALL, LibWindow::ID_DEBUG_SHOW_DENUG_INFO, LibWindow::CWndBase::m_hWnd, LibWindow::CWndPane::s_bDrawDoubleBuffer, LibWindow::CWndPane::s_bResizePartitionRealTime, LibWindow::CWndPane::s_bShowDebugInfo, LibWindow::SetMenuCommandData() (計18項目).

参照元 AppendMainMenu(), CreateContextMenu().

1565  {
1566  // 処理ブロック
1567  bool result = false;
1568  do {
1569  // メニューハンドルを調べる
1570  if ( nullptr == hMenu ) {
1571  // 失敗!
1572  break;
1573  }
1574 
1575  // 子ペインウィンドウ数を取得する
1576  int nCount = GetChildCount();
1577 
1578  // 表示状態子ペインウィンドウ数を取得する
1579  int nShow = GetShowChildCount();
1580 
1581  // 非表示状態子ペインウィンドウ数を取得する
1582  int nHide = GetHideChildCount();
1583 
1584  // 非表示可能子ペインウィンドウ数を取得する
1585  int nHideable = GetHideableChildCount();
1586 
1587  // 削除可能子ペインウィンドウ数を取得する
1588  int nDeletable = GetDeletableChildCount();
1589 
1590  // 子ペインウィンドウを列挙する
1591  bool bShow = ( nCount > nShow );
1592  bool bHide = ( nHideable > nHide ) ;
1593  bool bDelete = ( 0 < nDeletable );
1594 
1595  // 共通メニューコマンドを追加する
1596  ::AppendMenuW( hMenu, MF_STRING, ID_DEBUG_SHOW_ALL, L"すべて表示" );
1597  ::AppendMenuW( hMenu, MF_STRING, ID_DEBUG_HIDE_ALL, L"すべて非表示" );
1598  ::AppendMenuW( hMenu, MF_STRING, ID_DEBUG_DELETE_ALL, L"すべて削除" );
1599  EnableMenuCommand ( hMenu, ID_DEBUG_SHOW_ALL, bShow );
1600  EnableMenuCommand ( hMenu, ID_DEBUG_HIDE_ALL, bHide );
1601  EnableMenuCommand ( hMenu, ID_DEBUG_DELETE_ALL, bDelete );
1602  CheckMenuCommand ( hMenu, ID_DEBUG_SHOW_ALL, !bShow );
1603  CheckMenuCommand ( hMenu, ID_DEBUG_HIDE_ALL, !bHide );
1604  SetMenuCommandData( hMenu, ID_DEBUG_SHOW_ALL, reinterpret_cast< ULONG_PTR >( m_hWnd ) );
1605  SetMenuCommandData( hMenu, ID_DEBUG_HIDE_ALL, reinterpret_cast< ULONG_PTR >( m_hWnd ) );
1606  SetMenuCommandData( hMenu, ID_DEBUG_DELETE_ALL, reinterpret_cast< ULONG_PTR >( m_hWnd ) );
1607  ::AppendMenuW( hMenu, MF_SEPARATOR, 0, nullptr );
1608  ::AppendMenuW( hMenu, MF_STRING, ID_DEBUG_SHOW_DENUG_INFO, L"デバッグ情報表示" );
1609  ::AppendMenuW( hMenu, MF_STRING, ID_DEBUG_DRAW_DOUBLE_BUFFER, L"ダブルバッファリング描画" );
1610  ::AppendMenuW( hMenu, MF_STRING, ID_DEBUG_REALTIME_RESIZE_PARTITION, L"リアルタイムパーティションサイズ変更" );
1614  SetMenuCommandData( hMenu, ID_DEBUG_SHOW_DENUG_INFO, reinterpret_cast< ULONG_PTR >( m_hWnd ) );
1615  SetMenuCommandData( hMenu, ID_DEBUG_DRAW_DOUBLE_BUFFER, reinterpret_cast< ULONG_PTR >( m_hWnd ) );
1616  SetMenuCommandData( hMenu, ID_DEBUG_REALTIME_RESIZE_PARTITION, reinterpret_cast< ULONG_PTR >( m_hWnd ) );
1617 
1618  // 成功!
1619  result = true;
1620  } while ( false );
1621 
1622  // 実行結果を返す
1623  return result;
1624  }
constexpr WORD const ID_DEBUG_REALTIME_RESIZE_PARTITION
デバッグ::リアルタイムパーティションサイズ変更
Definition: CommandIdDef.h:66
constexpr WORD const ID_DEBUG_HIDE_ALL
デバッグ::すべて隠す
Definition: CommandIdDef.h:62
constexpr WORD const ID_DEBUG_SHOW_DENUG_INFO
デバッグ::デバッグ情報表示
Definition: CommandIdDef.h:64
constexpr WORD const ID_DEBUG_DRAW_DOUBLE_BUFFER
デバッグ::ダブルバッファリング描画
Definition: CommandIdDef.h:65
virtual int GetHideChildCount() noexcept
非表示状態子ペインウィンドウ数取得関数
Definition: CWndPane.cpp:619
constexpr WORD const ID_DEBUG_SHOW_ALL
デバッグ::すべて表示
Definition: CommandIdDef.h:61
LIB_WINDOW_API bool CheckMenuCommand(HMENU hMenu, UINT uId, bool bCheck) noexcept
メニューコマンドチェック状態設定関数
virtual int GetShowChildCount() noexcept
表示状態子ペインウィンドウ数取得関数
Definition: CWndPane.cpp:598
HWND m_hWnd
ウィンドウハンドル
Definition: CWndBase.h:1539
static bool s_bShowDebugInfo
デバッグ情報表示フラグ
Definition: CWndPane.h:693
static bool s_bResizePartitionRealTime
リアルタイムパーティションサイズ変更フラグ
Definition: CWndPane.h:695
virtual int GetDeletableChildCount() noexcept
削除可能子ペインウィンドウ数取得関数
Definition: CWndPane.cpp:661
constexpr WORD const ID_DEBUG_DELETE_ALL
デバッグ::すべて削除
Definition: CommandIdDef.h:63
LIB_WINDOW_API bool EnableMenuCommand(HMENU hMenu, UINT uId, bool bEnable) noexcept
メニューコマンド有効状態設定関数
static bool s_bDrawDoubleBuffer
ダブルバッファリング描画フラグ
Definition: CWndPane.h:694
virtual int GetChildCount() noexcept
子ペインウィンドウ数取得関数
Definition: CWndPane.cpp:577
virtual int GetHideableChildCount() noexcept
非表示可能子ペインウィンドウ数取得関数
Definition: CWndPane.cpp:640
LIB_WINDOW_API bool SetMenuCommandData(HMENU hMenu, UINT uId, ULONG_PTR uData) noexcept
メニューコマンドデータ設定関数

呼び出し関係図:

被呼び出し関係図:

bool LibWindow::CWndMain::UpdateMenuBar ( )
virtualnoexcept

メニューバー更新関数

メニューバー更新関数です。

引数
なし
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CWndMain.cpp1628 行目に定義があります。

参照先 AppendMainMenu(), m_hMenu, LibWindow::CWndBase::m_hWnd, UpdateToolBar().

参照元 ExecMenuCommand(), Run(), WmNotifyChildCommand().

1628  {
1629  // 処理ブロック
1630  bool result = false;
1631  do {
1632  // 巡回する
1633  for ( int nCount = ::GetMenuItemCount( m_hMenu ), nIndex = ( nCount - 1 ); 0 <= nIndex; --nIndex ) {
1634  // メニューを削除する
1635  ::DeleteMenu( m_hMenu, nIndex, MF_BYPOSITION );
1636  }
1637 
1638  // メインメニューを追加する
1639  if ( !AppendMainMenu( m_hMenu ) ) {
1640  // 失敗!
1641  break;
1642  }
1643 
1644  // メニューバーを再描画する
1645  ::DrawMenuBar( m_hWnd );
1646 
1647  // ツールバーを更新する
1648  UpdateToolBar();
1649 
1650  // 成功!
1651  result = true;
1652  } while ( false );
1653 
1654  // 実行結果を返す
1655  return result;
1656  }
HMENU m_hMenu
メニューハンドル
Definition: CWndMain.h:672
virtual bool AppendMainMenu(HMENU hMenu) noexcept
メインメニュー追加関数
Definition: CWndMain.cpp:1660
HWND m_hWnd
ウィンドウハンドル
Definition: CWndBase.h:1539
virtual bool UpdateToolBar() noexcept
ツールバー更新関数
Definition: CWndMain.cpp:1964

呼び出し関係図:

被呼び出し関係図:

bool LibWindow::CWndMain::AppendMainMenu ( HMENU  hMenu)
virtualnoexcept

メインメニュー追加関数

メインメニュー追加関数です。

引数
[in]hMenuメニューハンドル
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CWndMain.cpp1660 行目に定義があります。

参照先 AppendCommonDebugMenu(), AppendDebugMenu(), LibWindow::CheckMenuCommand(), LibWindow::EnableMenuCommand(), LibWindow::GetEnableMenuCommandCount(), LibWindow::CWndBase::GetHandle(), LibWindow::ID_EDIT_COPY, LibWindow::ID_EDIT_CUT, LibWindow::ID_EDIT_DELETE, LibWindow::ID_EDIT_PASTE, LibWindow::ID_EDIT_REDO, LibWindow::ID_EDIT_SELECT_ALL, LibWindow::ID_EDIT_UNDO, LibWindow::ID_FILE_CLOSE, LibWindow::ID_FILE_EXIT, LibWindow::ID_FILE_NEW, LibWindow::ID_FILE_OPEN, LibWindow::ID_FILE_PRINT, LibWindow::ID_FILE_RECENT_FILE, LibWindow::ID_FILE_SAVE, LibWindow::ID_FILE_SAVE_ALL, LibWindow::ID_FILE_SAVE_AS, LibWindow::ID_HELP_ABOUT, LibWindow::ID_TOOL_CUSTOMIZE, LibWindow::ID_TOOL_OPTION, LibWindow::ID_VIEW_STATUSBAR, LibWindow::ID_VIEW_TOOLBAR, LibWindow::ID_WINDOW_DOCKING, LibWindow::ID_WINDOW_FLOATING, LibWindow::ID_WINDOW_LIST, LibWindow::ID_WINDOW_NEW, LibWindow::ID_WINDOW_POS_BOTTOM, LibWindow::ID_WINDOW_POS_FULL, LibWindow::ID_WINDOW_POS_LEFT, LibWindow::ID_WINDOW_POS_MAXIMIZE, LibWindow::ID_WINDOW_POS_RIGHT, LibWindow::ID_WINDOW_POS_TOP, m_cToolBar, m_hStatusBar (計39項目).

参照元 UpdateMenuBar().

1660  {
1661  // 処理ブロック
1662  bool result = false;
1663  do {
1664  // メニューハンドルを調べる
1665  if ( nullptr == hMenu ) {
1666  // 失敗!
1667  break;
1668  }
1669 
1670  // サブメニューを作成する
1671  HMENU hSubMenu = ::CreatePopupMenu();
1672  if ( nullptr == hSubMenu ) {
1673  // 失敗!
1674  break;
1675  }
1676 
1677  // ファイルメニューコマンドを追加する
1678  ::AppendMenuW( hSubMenu, MF_STRING, ID_FILE_NEW, L"新規作成(&N)\tCtrl+N" );
1679  ::AppendMenuW( hSubMenu, MF_STRING, ID_FILE_OPEN, L"開く(&O)...\tCtrl+O" );
1680  ::AppendMenuW( hSubMenu, MF_STRING, ID_FILE_CLOSE, L"閉じる(&C)\tCtrl+W,Ctrl+F4" );
1681  ::AppendMenuW( hSubMenu, MF_SEPARATOR, 0, nullptr );
1682  ::AppendMenuW( hSubMenu, MF_STRING, ID_FILE_SAVE, L"保存(&S)\tCtrl+S" );
1683  ::AppendMenuW( hSubMenu, MF_STRING, ID_FILE_SAVE_AS, L"名前を付けて保存(&A)...\tCtrl+Shift+S" );
1684  ::AppendMenuW( hSubMenu, MF_STRING, ID_FILE_SAVE_ALL, L"すべて保存(&L)" );
1685  ::AppendMenuW( hSubMenu, MF_SEPARATOR, 0, nullptr );
1686  ::AppendMenuW( hSubMenu, MF_STRING, ID_FILE_PRINT, L"印刷(&P)...\tCtrl+P" );
1687  ::AppendMenuW( hSubMenu, MF_STRING, ID_FILE_RECENT_FILE, L"最近使ったファイル(&F)..." );
1688  ::AppendMenuW( hSubMenu, MF_SEPARATOR, 0, nullptr );
1689  ::AppendMenuW( hSubMenu, MF_STRING, ID_FILE_EXIT, L"終了(&X)\tAlt+F4" );
1690  ::AppendMenuW( hSubMenu, MF_SEPARATOR, 0, nullptr );
1691  EnableMenuCommand( hSubMenu, ID_FILE_NEW, false );
1692  EnableMenuCommand( hSubMenu, ID_FILE_OPEN, false );
1693  EnableMenuCommand( hSubMenu, ID_FILE_CLOSE, false );
1694  EnableMenuCommand( hSubMenu, ID_FILE_SAVE, false );
1695  EnableMenuCommand( hSubMenu, ID_FILE_SAVE_AS, false );
1696  EnableMenuCommand( hSubMenu, ID_FILE_SAVE_ALL, false );
1697  EnableMenuCommand( hSubMenu, ID_FILE_PRINT, false );
1698  EnableMenuCommand( hSubMenu, ID_FILE_RECENT_FILE, false );
1699 
1700  // サブメニューを追加する
1701  ::AppendMenuW( hMenu, MF_POPUP, reinterpret_cast< UINT_PTR >( hSubMenu ), L"ファイル(&F)" );
1702  if ( 0 >= GetEnableMenuCommandCount( hSubMenu ) ) {
1703  // サブメニューを無効化する
1704  ::EnableMenuItem( hMenu, ( ::GetMenuItemCount( hMenu ) - 1 ), ( MF_BYPOSITION | MFS_DISABLED ) );
1705  }
1706 
1707  // サブメニューを作成する
1708  hSubMenu = ::CreatePopupMenu();
1709  if ( nullptr == hSubMenu ) {
1710  // 失敗!
1711  break;
1712  }
1713 
1714  // 編集メニューコマンドを追加する
1715  ::AppendMenuW( hSubMenu, MF_STRING, ID_EDIT_UNDO, L"元に戻す(&U)\tCtrl+Z" );
1716  ::AppendMenuW( hSubMenu, MF_STRING, ID_EDIT_REDO, L"やり直し(&R)\tCtrl+Y" );
1717  ::AppendMenuW( hSubMenu, MF_SEPARATOR, 0, nullptr );
1718  ::AppendMenuW( hSubMenu, MF_STRING, ID_EDIT_CUT, L"切り取り(&T)\tCtrl+X" );
1719  ::AppendMenuW( hSubMenu, MF_STRING, ID_EDIT_COPY, L"コピー(&C)\tCtrl+C" );
1720  ::AppendMenuW( hSubMenu, MF_STRING, ID_EDIT_PASTE, L"貼り付け(&P)\tCtrl+V" );
1721  ::AppendMenuW( hSubMenu, MF_SEPARATOR, 0, nullptr );
1722  ::AppendMenuW( hSubMenu, MF_STRING, ID_EDIT_DELETE, L"削除(&D)\tDel" );
1723  ::AppendMenuW( hSubMenu, MF_SEPARATOR, 0, nullptr );
1724  ::AppendMenuW( hSubMenu, MF_STRING, ID_EDIT_SELECT_ALL, L"すべて選択(&A)\tCtrl+A" );
1725  EnableMenuCommand( hSubMenu, ID_EDIT_UNDO, false );
1726  EnableMenuCommand( hSubMenu, ID_EDIT_REDO, false );
1727  EnableMenuCommand( hSubMenu, ID_EDIT_CUT, false );
1728  EnableMenuCommand( hSubMenu, ID_EDIT_COPY, false );
1729  EnableMenuCommand( hSubMenu, ID_EDIT_PASTE, false );
1730  EnableMenuCommand( hSubMenu, ID_EDIT_DELETE, false );
1731  EnableMenuCommand( hSubMenu, ID_EDIT_SELECT_ALL, false );
1732 
1733  // サブメニューを追加する
1734  ::AppendMenuW( hMenu, MF_POPUP, reinterpret_cast< UINT_PTR >( hSubMenu ), L"編集(&E)" );
1735  if ( 0 >= GetEnableMenuCommandCount( hSubMenu ) ) {
1736  // サブメニューを無効化する
1737  ::EnableMenuItem( hMenu, ( ::GetMenuItemCount( hMenu ) - 1 ), ( MF_BYPOSITION | MFS_DISABLED ) );
1738  }
1739 
1740  // サブメニューを作成する
1741  hSubMenu = ::CreatePopupMenu();
1742  if ( nullptr == hSubMenu ) {
1743  // 失敗!
1744  break;
1745  }
1746 
1747  // 表示メニューコマンドを追加する
1748  ::AppendMenuW( hSubMenu, MF_STRING, ID_VIEW_TOOLBAR, L"ツールバー(&T)" );
1749  ::AppendMenuW( hSubMenu, MF_STRING, ID_VIEW_STATUSBAR, L"ステータスバー(&S)" );
1750  CheckMenuCommand( hSubMenu, ID_VIEW_TOOLBAR, ( 0 != ::IsWindowVisible( m_cToolBar.GetHandle() ) ) );
1751  CheckMenuCommand( hSubMenu, ID_VIEW_STATUSBAR, ( 0 != ::IsWindowVisible( m_hStatusBar ) ) );
1752 
1753  // サブメニューを追加する
1754  ::AppendMenuW( hMenu, MF_POPUP, reinterpret_cast< UINT_PTR >( hSubMenu ), L"表示(&V)" );
1755  if ( 0 >= GetEnableMenuCommandCount( hSubMenu ) ) {
1756  // サブメニューを無効化する
1757  ::EnableMenuItem( hMenu, ( ::GetMenuItemCount( hMenu ) - 1 ), ( MF_BYPOSITION | MFS_DISABLED ) );
1758  }
1759 
1760  // サブメニューを作成する
1761  hSubMenu = ::CreatePopupMenu();
1762  if ( nullptr == hSubMenu ) {
1763  // 失敗!
1764  break;
1765  }
1766 
1767  // ツールメニュー項目を追加する
1768  ::AppendMenuW( hSubMenu, MF_STRING, ID_TOOL_CUSTOMIZE, L"カスタマイズ(&C)..." );
1769  ::AppendMenuW( hSubMenu, MF_STRING, ID_TOOL_OPTION, L"オプション(&O)..." );
1770  EnableMenuCommand( hSubMenu, ID_TOOL_CUSTOMIZE, false );
1771  EnableMenuCommand( hSubMenu, ID_TOOL_OPTION, false );
1772 
1773  // サブメニューを追加する
1774  ::AppendMenuW( hMenu, MF_POPUP, reinterpret_cast< UINT_PTR >( hSubMenu ), L"ツール(&T)" );
1775  if ( 0 >= GetEnableMenuCommandCount( hSubMenu ) ) {
1776  // サブメニューを無効化する
1777  ::EnableMenuItem( hMenu, ( ::GetMenuItemCount( hMenu ) - 1 ), ( MF_BYPOSITION | MFS_DISABLED ) );
1778  }
1779 
1780  // サブメニューを作成する
1781  hSubMenu = ::CreatePopupMenu();
1782  if ( nullptr == hSubMenu ) {
1783  // 失敗!
1784  break;
1785  }
1786 
1787  // ウィンドウメニューを追加する
1788  ::AppendMenuW( hSubMenu, MF_STRING, ID_WINDOW_NEW, L"新規ウィンドウ(&N)" );
1789  ::AppendMenuW( hSubMenu, MF_STRING, ID_WINDOW_FLOATING, L"フローティング(&F)" );
1790  ::AppendMenuW( hSubMenu, MF_STRING, ID_WINDOW_DOCKING, L"ドッキング(&K)" );
1791  ::AppendMenuW( hSubMenu, MF_STRING, ID_WINDOW_LIST, L"ウィンドウ(&W)..." );
1792  EnableMenuCommand( hSubMenu, ID_WINDOW_NEW, false );
1793  EnableMenuCommand( hSubMenu, ID_WINDOW_FLOATING, false );
1794  EnableMenuCommand( hSubMenu, ID_WINDOW_DOCKING, false );
1795  EnableMenuCommand( hSubMenu, ID_WINDOW_LIST, false );
1796 
1797  // サブサブメニューを作成する
1798  HMENU hSubMenu2 = ::CreatePopupMenu();
1799  if ( nullptr == hSubMenu2 ) {
1800  // 失敗!
1801  break;
1802  }
1803 
1804  // ウィンドウ表示位置メニューコマンドを追加する
1805  ::AppendMenuW( hSubMenu2, MF_STRING, ID_WINDOW_POS_LEFT, L"左側(&L)\tCtrl+Alt+Left" );
1806  ::AppendMenuW( hSubMenu2, MF_STRING, ID_WINDOW_POS_RIGHT, L"右側(&R)\tCtrl+Alt+Right" );
1807  ::AppendMenuW( hSubMenu2, MF_STRING, ID_WINDOW_POS_TOP, L"上側(&T)\tCtrl+Alt+Up" );
1808  ::AppendMenuW( hSubMenu2, MF_STRING, ID_WINDOW_POS_BOTTOM, L"下側(&B)\tCtrl+Alt+Down" );
1809  ::AppendMenuW( hSubMenu2, MF_STRING, ID_WINDOW_POS_FULL, L"フルサイズ(&F)\tCtrl+Alt+Enter" );
1810  ::AppendMenuW( hSubMenu2, MF_STRING, ID_WINDOW_POS_MAXIMIZE, L"最大化(&M)\tCtrl+Enter" );
1811 
1812  // サブサブメニューを追加する
1813  ::AppendMenuW( hSubMenu, MF_POPUP, reinterpret_cast< UINT_PTR >( hSubMenu2 ), L"表示位置(&P)" );
1814  if ( 0 >= GetEnableMenuCommandCount( hSubMenu2 ) ) {
1815  // サブサブメニューを無効化する
1816  ::EnableMenuItem( hMenu, ( ::GetMenuItemCount( hMenu ) - 1 ), ( MF_BYPOSITION | MFS_DISABLED ) );
1817  }
1818 
1819  // サブメニューを追加する
1820  ::AppendMenuW( hMenu, MF_POPUP, reinterpret_cast< UINT_PTR >( hSubMenu ), L"ウィンドウ(&W)" );
1821  if ( 0 >= GetEnableMenuCommandCount( hSubMenu ) ) {
1822  // サブメニューを無効化する
1823  ::EnableMenuItem( hMenu, ( ::GetMenuItemCount( hMenu ) - 1 ), ( MF_BYPOSITION | MFS_DISABLED ) );
1824  }
1825 
1826  // サブメニューを作成する
1827  hSubMenu = ::CreatePopupMenu();
1828  if ( nullptr == hSubMenu ) {
1829  // 失敗!
1830  break;
1831  }
1832 
1833  // ヘルプメニューを追加する
1834  ::AppendMenuW( hSubMenu, MF_STRING, ID_HELP_ABOUT, L"バージョン情報(&A)" );
1835 
1836  // サブメニューを追加する
1837  ::AppendMenuW( hMenu, MF_POPUP, reinterpret_cast< UINT_PTR >( hSubMenu ), L"ヘルプ(&H)" );
1838  if ( 0 >= GetEnableMenuCommandCount( hSubMenu ) ) {
1839  // サブメニューを無効化する
1840  ::EnableMenuItem( hMenu, ( ::GetMenuItemCount( hMenu ) - 1 ), ( MF_BYPOSITION | MFS_DISABLED ) );
1841  }
1842 
1843  // サブメニューを作成する
1844  hSubMenu = ::CreatePopupMenu();
1845  if ( nullptr == hSubMenu ) {
1846  // 失敗!
1847  break;
1848  }
1849 
1850  // サブサブメニューを作成する
1851  hSubMenu2 = ::CreatePopupMenu();
1852  if ( nullptr == hSubMenu2 ) {
1853  // 失敗!
1854  break;
1855  }
1856 
1857  // 共通デバッグメニューを追加する
1858  AppendCommonDebugMenu( hSubMenu2 );
1859 
1860  // サブサブメニューを追加する
1861  ::AppendMenuW( hSubMenu, MF_POPUP, reinterpret_cast< UINT_PTR >( hSubMenu2 ), L"共通" );
1862  if ( 0 >= GetEnableMenuCommandCount( hSubMenu2 ) ) {
1863  // サブサブメニューを無効化する
1864  ::EnableMenuItem( hMenu, ( ::GetMenuItemCount( hMenu ) - 1 ), ( MF_BYPOSITION | MFS_DISABLED ) );
1865  }
1866 
1867  // デバッグメニューを追加する
1868  AppendDebugMenu( hSubMenu );
1869 
1870  // サブメニューを追加する
1871  ::AppendMenuW( hMenu, MF_POPUP, reinterpret_cast< UINT_PTR >( hSubMenu ), L"デバッグ(&D)" );
1872  if ( 0 >= GetEnableMenuCommandCount( hSubMenu ) ) {
1873  // サブメニューを無効化する
1874  ::EnableMenuItem( hMenu, ( ::GetMenuItemCount( hMenu ) - 1 ), ( MF_BYPOSITION | MFS_DISABLED ) );
1875  }
1876 
1877  // 成功!
1878  result = true;
1879  } while ( false );
1880 
1881  // 実行結果を返す
1882  return result;
1883  }
constexpr WORD const ID_FILE_RECENT_FILE
ファイル::最近使ったファイル
Definition: CommandIdDef.h:34
virtual HWND & GetHandle() noexcept
ウィンドウハンドル取得関数
Definition: CWndBase.h:69
constexpr WORD const ID_TOOL_OPTION
ツール::オプション
Definition: CommandIdDef.h:46
constexpr WORD const ID_WINDOW_POS_LEFT
ウィンドウ::表示位置::左側
Definition: CommandIdDef.h:51
constexpr WORD const ID_EDIT_UNDO
編集::元に戻す
Definition: CommandIdDef.h:36
constexpr WORD const ID_EDIT_CUT
編集::切り取り
Definition: CommandIdDef.h:38
constexpr WORD const ID_FILE_PRINT
ファイル::印刷
Definition: CommandIdDef.h:33
constexpr WORD const ID_WINDOW_NEW
ウィンドウ::新規ウィンドウ
Definition: CommandIdDef.h:47
constexpr WORD const ID_FILE_CLOSE
ファイル::閉じる
Definition: CommandIdDef.h:29
constexpr WORD const ID_EDIT_DELETE
編集::削除
Definition: CommandIdDef.h:41
constexpr WORD const ID_TOOL_CUSTOMIZE
ツール::カスタマイズ
Definition: CommandIdDef.h:45
CWndToolBar m_cToolBar
ツールバー
Definition: CWndMain.h:676
constexpr WORD const ID_WINDOW_FLOATING
ウィンドウ::フローティング
Definition: CommandIdDef.h:48
constexpr WORD const ID_WINDOW_POS_RIGHT
ウィンドウ::表示位置::右側
Definition: CommandIdDef.h:52
constexpr WORD const ID_EDIT_SELECT_ALL
編集::すべて選択
Definition: CommandIdDef.h:42
LIB_WINDOW_API bool CheckMenuCommand(HMENU hMenu, UINT uId, bool bCheck) noexcept
メニューコマンドチェック状態設定関数
constexpr WORD const ID_VIEW_TOOLBAR
表示::ツールバー
Definition: CommandIdDef.h:43
constexpr WORD const ID_WINDOW_POS_BOTTOM
ウィンドウ::表示位置::下側
Definition: CommandIdDef.h:54
LIB_WINDOW_API int GetEnableMenuCommandCount(HMENU hMenu) noexcept
メニューコマンド有効数取得関数
constexpr WORD const ID_FILE_NEW
ファイル::新規作成
Definition: CommandIdDef.h:27
constexpr WORD const ID_FILE_SAVE_ALL
ファイル::すべて保存
Definition: CommandIdDef.h:32
constexpr WORD const ID_EDIT_REDO
編集::やり直し
Definition: CommandIdDef.h:37
constexpr WORD const ID_FILE_EXIT
ファイル::終了
Definition: CommandIdDef.h:35
constexpr WORD const ID_WINDOW_POS_FULL
ウィンドウ::表示位置::フルサイズ
Definition: CommandIdDef.h:55
constexpr WORD const ID_WINDOW_DOCKING
ウィンドウ::ドッキング
Definition: CommandIdDef.h:49
constexpr WORD const ID_FILE_SAVE_AS
ファイル::名前を付けて保存
Definition: CommandIdDef.h:31
virtual bool AppendDebugMenu(HMENU hMenu) noexcept override
デバッグメニュー追加関数
Definition: CWndMain.cpp:1268
constexpr WORD const ID_WINDOW_POS_MAXIMIZE
ウィンドウ::表示位置::最大化
Definition: CommandIdDef.h:56
constexpr WORD const ID_EDIT_PASTE
編集::貼り付け
Definition: CommandIdDef.h:40
constexpr WORD const ID_EDIT_COPY
編集::コピー
Definition: CommandIdDef.h:39
LIB_WINDOW_API bool EnableMenuCommand(HMENU hMenu, UINT uId, bool bEnable) noexcept
メニューコマンド有効状態設定関数
constexpr WORD const ID_VIEW_STATUSBAR
表示::ステータスバー
Definition: CommandIdDef.h:44
constexpr WORD const ID_WINDOW_LIST
ウィンドウ::ウィンドウ(リスト)
Definition: CommandIdDef.h:50
virtual bool AppendCommonDebugMenu(HMENU hMenu) noexcept
共通デバッグメニュー追加関数
Definition: CWndMain.cpp:1565
HWND m_hStatusBar
ステータスバーコントロールハンドル
Definition: CWndMain.h:674
constexpr WORD const ID_HELP_ABOUT
ヘルプ::バージョン情報
Definition: CommandIdDef.h:57
constexpr WORD const ID_FILE_SAVE
ファイル::保存
Definition: CommandIdDef.h:30
constexpr WORD const ID_FILE_OPEN
ファイル::開く
Definition: CommandIdDef.h:28
constexpr WORD const ID_WINDOW_POS_TOP
ウィンドウ::表示位置::上側
Definition: CommandIdDef.h:53

呼び出し関係図:

被呼び出し関係図:

bool LibWindow::CWndMain::CreateAccel ( )
virtualnoexcept

アクセラレータテーブル作成関数

アクセラレータテーブル作成関数です。

引数
なし
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CWndMain.cpp1887 行目に定義があります。

参照先 LibWindow::ID_FILE_CLOSE, LibWindow::ID_FILE_NEW, LibWindow::ID_FILE_OPEN, LibWindow::ID_FILE_SAVE, LibWindow::ID_FILE_SAVE_AS, LibWindow::ID_HELP_ABOUT, LibWindow::ID_WINDOW_POS_BOTTOM, LibWindow::ID_WINDOW_POS_FULL, LibWindow::ID_WINDOW_POS_LEFT, LibWindow::ID_WINDOW_POS_MAXIMIZE, LibWindow::ID_WINDOW_POS_RIGHT, LibWindow::ID_WINDOW_POS_TOP, m_hAccel.

参照元 Create().

1887  {
1888  // アクセラレータリスト
1889  static ACCEL sAccels[] = {
1890  { FVIRTKEY | FCONTROL, L'N', ID_FILE_NEW },
1891  { FVIRTKEY | FCONTROL, L'O', ID_FILE_OPEN },
1892  { FVIRTKEY | FCONTROL, L'W', ID_FILE_CLOSE },
1893  { FVIRTKEY | FCONTROL, VK_F4, ID_FILE_CLOSE },
1894  { FVIRTKEY | FCONTROL, L'S', ID_FILE_SAVE },
1895  { FVIRTKEY | FCONTROL | FSHIFT, L'S', ID_FILE_SAVE_AS },
1896  { FVIRTKEY, VK_F1, ID_HELP_ABOUT },
1897  { FVIRTKEY | FCONTROL | FALT, VK_LEFT, ID_WINDOW_POS_LEFT },
1898  { FVIRTKEY | FCONTROL | FALT, VK_RIGHT, ID_WINDOW_POS_RIGHT },
1899  { FVIRTKEY | FCONTROL | FALT, VK_UP, ID_WINDOW_POS_TOP },
1900  { FVIRTKEY | FCONTROL | FALT, VK_DOWN, ID_WINDOW_POS_BOTTOM },
1901  { FVIRTKEY | FCONTROL | FALT, VK_RETURN, ID_WINDOW_POS_FULL },
1902  { FVIRTKEY | FCONTROL, VK_RETURN, ID_WINDOW_POS_MAXIMIZE },
1903  };
1904 
1905  // 処理ブロック
1906  bool result = false;
1907  do {
1908  // アクセラレータテーブルを作成する
1909  int nCount = ( sizeof sAccels / sizeof( ACCEL ) );
1910  m_hAccel = ::CreateAcceleratorTableW( sAccels, nCount );
1911  if ( nullptr == m_hAccel ) {
1912  // 失敗!
1913  break;
1914  }
1915 
1916  // 成功!
1917  result = true;
1918  } while ( false );
1919 
1920  // 実行結果を返す
1921  return result;
1922  }
constexpr WORD const ID_WINDOW_POS_LEFT
ウィンドウ::表示位置::左側
Definition: CommandIdDef.h:51
constexpr WORD const ID_FILE_CLOSE
ファイル::閉じる
Definition: CommandIdDef.h:29
constexpr WORD const ID_WINDOW_POS_RIGHT
ウィンドウ::表示位置::右側
Definition: CommandIdDef.h:52
constexpr WORD const ID_WINDOW_POS_BOTTOM
ウィンドウ::表示位置::下側
Definition: CommandIdDef.h:54
constexpr WORD const ID_FILE_NEW
ファイル::新規作成
Definition: CommandIdDef.h:27
constexpr WORD const ID_WINDOW_POS_FULL
ウィンドウ::表示位置::フルサイズ
Definition: CommandIdDef.h:55
constexpr WORD const ID_FILE_SAVE_AS
ファイル::名前を付けて保存
Definition: CommandIdDef.h:31
constexpr WORD const ID_WINDOW_POS_MAXIMIZE
ウィンドウ::表示位置::最大化
Definition: CommandIdDef.h:56
HACCEL m_hAccel
アクセラレータテーブルハンドル
Definition: CWndMain.h:673
constexpr WORD const ID_HELP_ABOUT
ヘルプ::バージョン情報
Definition: CommandIdDef.h:57
constexpr WORD const ID_FILE_SAVE
ファイル::保存
Definition: CommandIdDef.h:30
constexpr WORD const ID_FILE_OPEN
ファイル::開く
Definition: CommandIdDef.h:28
constexpr WORD const ID_WINDOW_POS_TOP
ウィンドウ::表示位置::上側
Definition: CommandIdDef.h:53

被呼び出し関係図:

bool LibWindow::CWndMain::CreateToolBar ( )
virtualnoexcept

ツールバー作成関数

ツールバー作成関数です。

引数
なし
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CWndMain.cpp1926 行目に定義があります。

参照先 LibWindow::CWndToolBar::Create(), CreateIconImageList(), CreateToolBarButtonList(), LibCommon::CArray< Type >::GetBuffer(), LibCommon::CArray< Type >::GetCount(), LibWindow::CWndBase::GetHandle(), m_cToolBar, m_hIconImageList, LibWindow::CWndBase::m_hWnd, m_pcToolBarButtonList.

参照元 Create().

1926  {
1927  // 処理ブロック
1928  bool result = false;
1929  do {
1930  // アイコンイメージリストを作成する
1931  if ( !CreateIconImageList() ) {
1932  // 失敗!
1933  break;
1934  }
1935  // ツールバーボタンリストを作成する
1936  else if ( !CreateToolBarButtonList() ) {
1937  // 失敗!
1938  break;
1939  }
1940  // ツールバーを作成する
1941  else if ( !m_cToolBar.Create( m_hWnd ) ) {
1942  // 失敗!
1943  break;
1944  }
1945 
1946  // ツールバーの設定をする
1947  ::SendMessageW( m_cToolBar.GetHandle(), TB_BUTTONSTRUCTSIZE, sizeof( TBBUTTON ), 0 );
1948  ::SendMessageW( m_cToolBar.GetHandle(), TB_SETEXTENDEDSTYLE, 0, TBSTYLE_EX_MIXEDBUTTONS );
1949  ::SendMessageW( m_cToolBar.GetHandle(), TB_SETIMAGELIST, 0, reinterpret_cast< LPARAM >( m_hIconImageList ) );
1950 
1951  // ツールバーボタンを追加する
1952  ::SendMessageW( m_cToolBar.GetHandle(), TB_ADDBUTTONS, m_pcToolBarButtonList->GetCount(), reinterpret_cast< LPARAM >( m_pcToolBarButtonList->GetBuffer() ) );
1953 
1954  // 成功!
1955  result = true;
1956  } while ( false );
1957 
1958  // 実行結果を返す
1959  return result;
1960  }
virtual HWND & GetHandle() noexcept
ウィンドウハンドル取得関数
Definition: CWndBase.h:69
CWndToolBar m_cToolBar
ツールバー
Definition: CWndMain.h:676
virtual bool CreateIconImageList() noexcept
アイコンイメージリスト作成関数
Definition: CWndMain.cpp:1988
HWND m_hWnd
ウィンドウハンドル
Definition: CWndBase.h:1539
virtual Type * GetBuffer() noexcept
配列要素バッファ取得関数
Definition: CArray.h:127
virtual bool CreateToolBarButtonList() noexcept
ツールバーボタンリスト作成関数
Definition: CWndMain.cpp:2066
virtual bool Create(HWND hParent, HMENU hMenu=nullptr) noexcept override
ウィンドウ作成関数
Definition: CWndToolBar.cpp:38
CArray< TBBUTTON > * m_pcToolBarButtonList
ツールバーボタンリストポインタ
Definition: CWndMain.h:681
HIMAGELIST m_hIconImageList
アイコンイメージリストハンドル
Definition: CWndMain.h:679
virtual int GetCount() const noexcept
配列要素数取得関数
Definition: CArray.h:149

呼び出し関係図:

被呼び出し関係図:

bool LibWindow::CWndMain::UpdateToolBar ( )
virtualnoexcept

ツールバー更新関数

ツールバー更新関数です。

引数
なし
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CWndMain.cpp1964 行目に定義があります。

参照先 LibCommon::CArray< Type >::GetCount(), LibWindow::CWndBase::GetHandle(), LibWindow::IsEnableMenuCommand(), m_cToolBar, m_hMenu, m_pcToolBarButtonList.

参照元 UpdateMenuBar().

1964  {
1965  // 処理ブロック
1966  bool result = false;
1967  do {
1968  // 巡回する
1969  for ( int nIndex = 0, nCount = m_pcToolBarButtonList->GetCount(); nCount > nIndex; ++nIndex ) {
1970  // ボタン種別を調べる
1971  if ( BTNS_BUTTON == ( *m_pcToolBarButtonList )[ nIndex ].fsStyle ) {
1972  // ボタン有効状態を設定する
1973  int idCommand = ( *m_pcToolBarButtonList )[ nIndex ].idCommand;
1974  ::SendMessageW( m_cToolBar.GetHandle(), TB_ENABLEBUTTON, idCommand, IsEnableMenuCommand( m_hMenu, idCommand ) );
1975  }
1976  }
1977 
1978  // 成功!
1979  result = true;
1980  } while ( false );
1981 
1982  // 実行結果を返す
1983  return result;
1984  }
virtual HWND & GetHandle() noexcept
ウィンドウハンドル取得関数
Definition: CWndBase.h:69
HMENU m_hMenu
メニューハンドル
Definition: CWndMain.h:672
CWndToolBar m_cToolBar
ツールバー
Definition: CWndMain.h:676
LIB_WINDOW_API bool IsEnableMenuCommand(HMENU hMenu, UINT uId) noexcept
メニューコマンド有効状態取得関数
CArray< TBBUTTON > * m_pcToolBarButtonList
ツールバーボタンリストポインタ
Definition: CWndMain.h:681
virtual int GetCount() const noexcept
配列要素数取得関数
Definition: CArray.h:149

呼び出し関係図:

被呼び出し関係図:

bool LibWindow::CWndMain::CreateIconImageList ( )
virtualnoexcept

アイコンイメージリスト作成関数

アイコンイメージリスト作成関数です。

引数
なし
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CWndMain.cpp1988 行目に定義があります。

参照先 LibWindow::ID_FILE_NEW, LibWindow::ID_FILE_OPEN, LibWindow::ID_FILE_SAVE, LibWindow::ID_HELP_ABOUT, LibWindow::ID_TOOL_OPTION, m_hIconImageList, m_pcIconImageList, PATH_ICON_IMAGE.

参照元 CreateToolBar().

1988  {
1989  // 処理ブロック
1990  bool result = false;
1991  do {
1992  // アイコンイメージ情報リスト
1993  static SIconImageInfo const sIconImageInfoList[] = {
1994  { ID_FILE_NEW, L"新規作成", L"Generic_Document.ico", },
1995  { ID_FILE_OPEN, L"開く", L"folder_open.ico", },
1996  { ID_FILE_SAVE, L"保存", L"FloppyDisk.ico", },
1997  { ID_TOOL_OPTION, L"オプション", L"1381_cog.ico", },
1998  { ID_HELP_ABOUT, L"バージョン情報", L"help.ico", },
1999  };
2000 
2001  // 巡回する
2002  for ( int nIndex = 0, nCount = ( sizeof( sIconImageInfoList ) / sizeof( SIconImageInfo ) );; ++nIndex ) {
2003  // インデックスを調べる
2004  if ( nCount <= nIndex ) {
2005  // 成功!
2006  result = true;
2007  break;
2008  }
2009  // アイコンイメージリストを追加する
2010  else if ( !m_pcIconImageList->Append( sIconImageInfoList[ nIndex ] ) ) {
2011  // 失敗!
2012  break;
2013  }
2014  }
2015 
2016  // 実行結果を調べる
2017  if ( !result ) {
2018  // 失敗!
2019  break;
2020  }
2021 
2022  // 実行結果をクリアする
2023  result = false;
2024 
2025  // イメージリストを作成する
2026  m_hIconImageList = ::ImageList_Create( 16, 15, ILC_COLOR32 | ILC_MASK, m_pcIconImageList->GetCount(), 0 );
2027  if ( nullptr == m_hIconImageList ) {
2028  // 失敗!
2029  break;
2030  }
2031  // 巡回する
2032  else for ( int nIndex = 0, nCount = m_pcIconImageList->GetCount();; ++nIndex ) {
2033  // インデックスを調べる
2034  if ( nCount <= nIndex ) {
2035  // 成功!
2036  result = true;
2037  break;
2038  }
2039 
2040  // アイコンファイルパスを作成する
2041  CString cPath;
2042  cPath = PATH_ICON_IMAGE;
2043  cPath += ( *m_pcIconImageList )[ nIndex ].m_pszIconFileName;
2044 
2045  // アイコンをロードする
2046  HICON hIcon = reinterpret_cast< HICON >( ::LoadImageW( ::GetModuleHandleW( nullptr ), cPath, IMAGE_ICON, 0, 0, LR_LOADFROMFILE ) );
2047  if ( nullptr == hIcon ) {
2048  // 失敗!
2049  break;
2050  }
2051 
2052  // アイコンをイメージリストに追加する
2053  ::ImageList_AddIcon( m_hIconImageList, hIcon );
2054 
2055  // アイコンを削除する
2056  ::DeleteObject( hIcon );
2057  }
2058  } while ( false );
2059 
2060  // 実行結果を返す
2061  return result;
2062  }
constexpr WORD const ID_TOOL_OPTION
ツール::オプション
Definition: CommandIdDef.h:46
CArray< SIconImageInfo > * m_pcIconImageList
アイコンイメージリストポインタ
Definition: CWndMain.h:680
constexpr WORD const ID_FILE_NEW
ファイル::新規作成
Definition: CommandIdDef.h:27
static wchar_t const *const PATH_ICON_IMAGE
アイコンイメージファイルディレクトリ文字列
Definition: CWndMain.h:719
constexpr WORD const ID_HELP_ABOUT
ヘルプ::バージョン情報
Definition: CommandIdDef.h:57
constexpr WORD const ID_FILE_SAVE
ファイル::保存
Definition: CommandIdDef.h:30
constexpr WORD const ID_FILE_OPEN
ファイル::開く
Definition: CommandIdDef.h:28
HIMAGELIST m_hIconImageList
アイコンイメージリストハンドル
Definition: CWndMain.h:679

被呼び出し関係図:

bool LibWindow::CWndMain::CreateToolBarButtonList ( )
virtualnoexcept

ツールバーボタンリスト作成関数

ツールバーボタンリスト作成関数です。

引数
なし
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CWndMain.cpp2066 行目に定義があります。

参照先 LibCommon::CArray< Type >::Append(), LibWindow::ID_FILE_NEW, LibWindow::ID_FILE_OPEN, LibWindow::ID_FILE_SAVE, LibWindow::ID_HELP_ABOUT, LibWindow::ID_TOOL_OPTION, m_pcIconImageList, m_pcToolBarButtonList.

参照元 CreateToolBar().

2066  {
2067  // 処理ブロック
2068  bool result = false;
2069  do {
2070  // ツールバーボタンリスト
2071  static TBBUTTON const sButtons[] = {
2072  { 0, ID_FILE_NEW, TBSTATE_ENABLED, BTNS_BUTTON },
2073  { 0, ID_FILE_OPEN, TBSTATE_ENABLED, BTNS_BUTTON },
2074  { 0, ID_FILE_SAVE, TBSTATE_ENABLED, BTNS_BUTTON },
2075  { 0, 0, 0, BTNS_SEP },
2076  { 0, ID_TOOL_OPTION, TBSTATE_ENABLED, BTNS_BUTTON },
2077  { 0, 0, 0, BTNS_SEP },
2078  { 0, ID_HELP_ABOUT, TBSTATE_ENABLED, BTNS_BUTTON },
2079  };
2080 
2081  // 巡回する
2082  for ( int nIndex = 0, nCount = ( sizeof( sButtons ) / sizeof( TBBUTTON ) );; ++nIndex ) {
2083  // インデックスを調べる
2084  if ( nCount <= nIndex ) {
2085  // 成功!
2086  result = true;
2087  break;
2088  }
2089 
2090  // コマンドIDを調べる
2091  TBBUTTON sButton = sButtons[ nIndex ];
2092  if ( 0 != sButton.idCommand ) {
2093  // 巡回する
2094  for ( int nIndex2 = 0, nCount2 = m_pcIconImageList->GetCount(); nCount2 > nIndex2; ++nIndex2 ) {
2095  // コマンドIDを調べる
2096  if ( sButton.idCommand == ( *m_pcIconImageList )[ nIndex2 ].m_wId ) {
2097  // イメージリストインデックスを設定する
2098  sButton.iBitmap = nIndex2;
2099 
2100  // ボタン名を設定する
2101  sButton.iString = reinterpret_cast< INT_PTR >( ( *m_pcIconImageList )[ nIndex2 ].m_pszButtonName );
2102  break;
2103  }
2104  }
2105  }
2106 
2107  // ツールバーボタンリストを追加する
2108  if ( !m_pcToolBarButtonList->Append( sButton ) ) {
2109  // 失敗!
2110  break;
2111  }
2112  }
2113  } while ( false );
2114 
2115  // 実行結果を返す
2116  return result;
2117  }
constexpr WORD const ID_TOOL_OPTION
ツール::オプション
Definition: CommandIdDef.h:46
CArray< SIconImageInfo > * m_pcIconImageList
アイコンイメージリストポインタ
Definition: CWndMain.h:680
virtual bool Append(CArray const &rcInstance) noexcept
追加関数
Definition: CArray.hpp:393
constexpr WORD const ID_FILE_NEW
ファイル::新規作成
Definition: CommandIdDef.h:27
constexpr WORD const ID_HELP_ABOUT
ヘルプ::バージョン情報
Definition: CommandIdDef.h:57
constexpr WORD const ID_FILE_SAVE
ファイル::保存
Definition: CommandIdDef.h:30
CArray< TBBUTTON > * m_pcToolBarButtonList
ツールバーボタンリストポインタ
Definition: CWndMain.h:681
constexpr WORD const ID_FILE_OPEN
ファイル::開く
Definition: CommandIdDef.h:28

呼び出し関係図:

被呼び出し関係図:

bool LibWindow::CWndMain::CreateStatusBar ( )
virtualnoexcept

ステータスバー作成関数

ステータスバー作成関数です。

引数
なし
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CWndMain.cpp2121 行目に定義があります。

参照先 m_cOtherInfo, m_hStatusBar, LibWindow::CWndBase::m_hWnd, STATUSBAR_INDEX_ERROR_TITLE, STATUSBAR_INDEX_ERROR_VALUE, STATUSBAR_INDEX_ERROR_WIDTH, STATUSBAR_INDEX_FPS_TITLE, STATUSBAR_INDEX_FPS_VALUE, STATUSBAR_INDEX_FPS_WIDTH, STATUSBAR_OTHERS, STATUSBAR_PARTS_COUNT, STATUSBAR_TITLE_ERROR, STATUSBAR_TITLE_FPS, UpdateStatusBar().

参照元 Create().

2121  {
2122  // 処理ブロック
2123  bool result = false;
2124  do {
2125  // ステータスバーコントロールを作成する
2126  DWORD dwStyle = ( WS_VISIBLE | WS_CHILD | SBARS_SIZEGRIP | CCS_BOTTOM );
2127  m_hStatusBar = ::CreateWindowExW( 0, STATUSCLASSNAMEW, nullptr, dwStyle, 0, 0, 0, 0, m_hWnd, nullptr, ::GetModuleHandleW( nullptr ), nullptr );
2128  if ( nullptr == m_hStatusBar ) {
2129  // 失敗!
2130  break;
2131  }
2132 
2133  // ステータスバー分割サイズ配列を初期化する
2134  int nSizeList[ STATUSBAR_PARTS_COUNT ] = {};
2135  nSizeList[ STATUSBAR_PARTS_COUNT - 1 ] = -1;
2136 
2137  // ステータスバーのデバイスコンテキストハンドルを取得する
2138  HDC hDc = ::GetDC( m_hStatusBar );
2139 
2140  // 固定文字列の描画サイズを取得して分割サイズを設定する
2141  int nPos = 0;
2142  SIZE sSize;
2143  ::GetTextExtentPoint32W( hDc, STATUSBAR_TITLE_FPS, static_cast< int >( ::wcslen( STATUSBAR_TITLE_FPS ) ), &sSize );
2144  nPos = nSizeList[ STATUSBAR_INDEX_FPS_TITLE ] = ( nPos + sSize.cx + 4 );
2145  nPos = nSizeList[ STATUSBAR_INDEX_FPS_VALUE ] = ( nPos + STATUSBAR_INDEX_FPS_WIDTH );
2146  ::GetTextExtentPoint32W( hDc, STATUSBAR_TITLE_ERROR, static_cast< int >( ::wcslen( STATUSBAR_TITLE_ERROR ) ), &sSize );
2147  nPos = nSizeList[ STATUSBAR_INDEX_ERROR_TITLE ] = ( nPos + sSize.cx + 4 );
2148  nPos = nSizeList[ STATUSBAR_INDEX_ERROR_VALUE ] = ( nPos + STATUSBAR_INDEX_ERROR_WIDTH );
2149 
2150  // デバイスコンテキストハンドルを解放する
2151  ReleaseDC( m_hStatusBar, hDc );
2152 
2153  // ステータスバーコントロールを分割する
2154  ::SendMessageW( m_hStatusBar, SB_SETPARTS, STATUSBAR_PARTS_COUNT, reinterpret_cast< LPARAM >( nSizeList ) );
2155 
2156  // 固定文字列を設定する
2157  ::SendMessageW( m_hStatusBar, SB_SETTEXT, ( STATUSBAR_INDEX_FPS_TITLE | SBT_POPOUT ), reinterpret_cast< LPARAM >( STATUSBAR_TITLE_FPS ) );
2158  ::SendMessageW( m_hStatusBar, SB_SETTEXT, ( STATUSBAR_INDEX_ERROR_TITLE | SBT_POPOUT ), reinterpret_cast< LPARAM >( STATUSBAR_TITLE_ERROR ) );
2159 
2160  // その他の情報を初期化する
2162 
2163  // ステータスバーを更新する
2164  UpdateStatusBar();
2165 
2166  // 成功!
2167  result = true;
2168  } while ( false );
2169 
2170  // 実行結果を返す
2171  return result;
2172  }
static int const STATUSBAR_PARTS_COUNT
ステータスバーコントロール分割数
Definition: CWndMain.h:706
CString m_cOtherInfo
その他の情報文字列
Definition: CWndMain.h:699
HWND m_hWnd
ウィンドウハンドル
Definition: CWndBase.h:1539
static int const STATUSBAR_INDEX_FPS_VALUE
FPS測定値表示インデックス
Definition: CWndMain.h:708
static wchar_t const *const STATUSBAR_OTHERS
ステータスバーその他の情報初期値文字列
Definition: CWndMain.h:722
static int const STATUSBAR_INDEX_FPS_WIDTH
FPS測定値表示幅
Definition: CWndMain.h:712
static int const STATUSBAR_INDEX_ERROR_TITLE
積算誤差タイトル表示インデックス
Definition: CWndMain.h:709
static wchar_t const *const STATUSBAR_TITLE_FPS
ステータスバーFPSタイトル文字列
Definition: CWndMain.h:720
HWND m_hStatusBar
ステータスバーコントロールハンドル
Definition: CWndMain.h:674
static wchar_t const *const STATUSBAR_TITLE_ERROR
ステータスバー積算誤差タイトル文字列
Definition: CWndMain.h:721
static int const STATUSBAR_INDEX_ERROR_VALUE
積算誤差表示インデックス
Definition: CWndMain.h:710
static int const STATUSBAR_INDEX_ERROR_WIDTH
積算誤差表示幅
Definition: CWndMain.h:713
static int const STATUSBAR_INDEX_FPS_TITLE
FPS測定値タイトル表示インデックス
Definition: CWndMain.h:707
virtual bool UpdateStatusBar() noexcept
ステータスバー更新関数
Definition: CWndMain.cpp:2176

呼び出し関係図:

被呼び出し関係図:

bool LibWindow::CWndMain::UpdateStatusBar ( )
virtualnoexcept

ステータスバー更新関数

ステータスバー更新関数です。

引数
なし
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CWndMain.cpp2176 行目に定義があります。

参照先 LibCommon::CString::Format(), LibCommon::CString::GetBuffer(), m_bPerformanceTimer, m_cOtherInfo, m_hStatusBar, m_nErrorCount, m_nFpsMax, m_nFpsValue, m_nPerformanceFreq, STATUSBAR_INDEX_ERROR_VALUE, STATUSBAR_INDEX_FPS_VALUE, STATUSBAR_INDEX_OTHERS.

参照元 CreateStatusBar(), Run().

2176  {
2177  // 処理ブロック
2178  bool result = false;
2179  do {
2180  // 高精度タイマ有効フラグを調べる
2181  if ( m_bPerformanceTimer ) {
2182  // FPS測定値を表示する
2183  CString cString;
2184  cString.Format( L"%d/%d", m_nFpsValue, m_nFpsMax );
2185  ::SendMessageW( m_hStatusBar, SB_SETTEXT, ( STATUSBAR_INDEX_FPS_VALUE | 0 ), reinterpret_cast< LPARAM >( cString.GetBuffer() ) );
2186 
2187  // 積算誤差を表示する
2188  LONGLONG nWaitTime = ( 1000 * 1000 * m_nErrorCount / m_nPerformanceFreq );
2189  cString.Format( L"%.3f ms", ( nWaitTime / 1000.0 ) );
2190  ::SendMessageW( m_hStatusBar, SB_SETTEXT, ( STATUSBAR_INDEX_ERROR_VALUE | 0 ), reinterpret_cast< LPARAM >( cString.GetBuffer() ) );
2191  }
2192 
2193  // その他の情報を表示する
2194  ::SendMessageW( m_hStatusBar, SB_SETTEXT, ( STATUSBAR_INDEX_OTHERS | 0 ), reinterpret_cast< LPARAM >( m_cOtherInfo.GetBuffer() ) );
2195 
2196  // 成功!
2197  result = true;
2198  } while ( false );
2199 
2200  // 実行結果を返す
2201  return result;
2202  }
int m_nFpsValue
FPS測定値
Definition: CWndMain.h:696
CString m_cOtherInfo
その他の情報文字列
Definition: CWndMain.h:699
int m_nFpsMax
FPS最大値
Definition: CWndMain.h:697
bool m_bPerformanceTimer
高精度タイマ有効フラグ
Definition: CWndMain.h:688
static int const STATUSBAR_INDEX_FPS_VALUE
FPS測定値表示インデックス
Definition: CWndMain.h:708
LONGLONG m_nErrorCount
積算誤差カウント
Definition: CWndMain.h:692
static int const STATUSBAR_INDEX_OTHERS
その他の表示インデックス
Definition: CWndMain.h:711
HWND m_hStatusBar
ステータスバーコントロールハンドル
Definition: CWndMain.h:674
LONGLONG m_nPerformanceFreq
パフォーマンス周波数
Definition: CWndMain.h:689
static int const STATUSBAR_INDEX_ERROR_VALUE
積算誤差表示インデックス
Definition: CWndMain.h:710
virtual wchar_t const * GetBuffer() const noexcept
文字列バッファ取得関数
Definition: CString.h:159

呼び出し関係図:

被呼び出し関係図:

bool LibWindow::CWndMain::CreateSeparator ( )
virtualnoexcept

セパレータ作成関数

セパレータ作成関数です。

引数
なし
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CWndMain.cpp2206 行目に定義があります。

参照先 m_hSeparator, LibWindow::CWndBase::m_hWnd.

参照元 Create().

2206  {
2207  // 処理ブロック
2208  bool result = false;
2209  do {
2210  // スタティックコントロールを作成する
2211  DWORD dwStyle = ( WS_CHILD | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | SS_OWNERDRAW );
2212  m_hSeparator = ::CreateWindowExW( 0, WC_STATICW, nullptr, dwStyle, 0, 0, 0, 0, m_hWnd, nullptr, ::GetModuleHandleW( nullptr ), nullptr );
2213  if ( nullptr == m_hSeparator ) {
2214  // 失敗!
2215  break;
2216  }
2217 
2218  // 成功!
2219  result = true;
2220  } while ( false );
2221 
2222  // 実行結果を返す
2223  return result;
2224  }
HWND m_hWnd
ウィンドウハンドル
Definition: CWndBase.h:1539
HWND m_hSeparator
セパレータコントロールハンドル
Definition: CWndMain.h:675

被呼び出し関係図:

bool LibWindow::CWndMain::DrawSeparator ( LPDRAWITEMSTRUCT  lpDraw)
virtualnoexcept

セパレータ描画関数

セパレータ描画関数です。

引数
[in]lpDraw描画アイテム構造体ポインタ
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CWndMain.cpp2228 行目に定義があります。

参照先 COLOR_SEPARATOR.

参照元 WmDrawItem().

2228  {
2229  // 処理ブロック
2230  bool result = false;
2231  do {
2232  // 背景色ブラシを作成する
2233  HBRUSH hBrush = ::CreateSolidBrush( COLOR_SEPARATOR );
2234 
2235  // 塗りつぶす
2236  ::FillRect( lpDraw->hDC, &lpDraw->rcItem, hBrush );
2237 
2238  // 背景色ブラシを削除する
2239  ::DeleteObject( hBrush );
2240 
2241  // 成功!
2242  result = true;
2243  } while ( false );
2244 
2245  // 実行結果を返す
2246  return result;
2247  }
static COLORREF const COLOR_SEPARATOR
タブ項目境界色
Definition: CWndMain.h:705

被呼び出し関係図:

bool LibWindow::CWndMain::Run ( )
virtualnoexcept

ウィンドウアプリケーション実行関数

ウィンドウアプリケーション実行関数です。

引数
なし
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CWndMain.cpp2251 行目に定義があります。

参照先 Create(), EndFrame(), IdleCallBackProc(), InitFrame(), m_bUpdatedFpsValue, m_hAccel, LibWindow::CWndBase::m_hWnd, StartFrame(), UpdateMenuBar(), UpdateStatusBar().

参照元 AppTest::CAppTest::ExecApp().

2251  {
2252  // 処理ブロック
2253  bool result = false;
2254  do {
2255  // ウィンドウハンドルを調べる
2256  if ( nullptr == m_hWnd ) {
2257  // ウィンドウを作成する
2258  if ( !Create() ) {
2259  // 失敗!
2260  break;
2261  }
2262  }
2263 
2264  // ウィンドウ表示状態を調べる
2265  if ( 0 == ::IsWindowVisible( m_hWnd ) ) {
2266  // ウィンドウを表示する
2267  ::ShowWindow( m_hWnd, SW_SHOWNOACTIVATE );
2268  }
2269 
2270  // メニューバーを更新する
2271  UpdateMenuBar();
2272 
2273  // フレーム管理処理を初期化する
2274  if ( !InitFrame() ) {
2275  // 失敗!
2276  break;
2277  }
2278 
2279  // 巡回する
2280  MSG sMsg;
2281  for ( ;; ) {
2282  // フレーム開始処理を実行する
2283  StartFrame();
2284 
2285  // ウィンドウメッセージをピークする
2286  if ( 0 != ::PeekMessageW( &sMsg, nullptr, 0, 0, PM_REMOVE ) ) {
2287  // 終了メッセージか調べる
2288  if ( WM_QUIT == sMsg.message ) {
2289  // 終了!
2290  break;
2291  }
2292  // アクセラレータキーを処理する
2293  else if ( 0 == ::TranslateAcceleratorW( sMsg.hwnd, m_hAccel, &sMsg ) ) {
2294  // 仮想キーメッセージを文字メッセージへ変換する
2295  ::TranslateMessage( &sMsg );
2296 
2297  // ウィンドウプロシージャへメッセージをディスパッチする
2298  ::DispatchMessageW( &sMsg );
2299  }
2300  }
2301  // アイドル処理コールバック関数を実行する
2302  else if ( !IdleCallBackProc() ) {
2303  // 終了!
2304  break;
2305  }
2306 
2307  // フレーム終了処理を実行する
2308  EndFrame();
2309 
2310  // FPS測定値更新フラグを調べる
2311  if ( m_bUpdatedFpsValue ) {
2312  // FPS測定値更新フラグをクリアする
2313  m_bUpdatedFpsValue = false;
2314 
2315  // ステータスバーを更新する
2316  UpdateStatusBar();
2317  }
2318  }
2319 
2320  // 成功!
2321  result = true;
2322  } while ( false );
2323 
2324  // 実行結果を返す
2325  return result;
2326  }
virtual bool Create(HWND hParent=nullptr, HMENU hMenu=nullptr) noexcept override
ウィンドウ作成関数
Definition: CWndMain.cpp:121
virtual bool EndFrame() noexcept
フレーム終了関数
Definition: CWndMain.cpp:2400
virtual bool StartFrame() noexcept
フレーム開始関数
Definition: CWndMain.cpp:2368
HWND m_hWnd
ウィンドウハンドル
Definition: CWndBase.h:1539
HACCEL m_hAccel
アクセラレータテーブルハンドル
Definition: CWndMain.h:673
virtual bool InitFrame() noexcept
フレーム管理初期化関数
Definition: CWndMain.cpp:2330
bool m_bUpdatedFpsValue
FPS測定値更新フラグ
Definition: CWndMain.h:698
virtual bool UpdateMenuBar() noexcept
メニューバー更新関数
Definition: CWndMain.cpp:1628
virtual bool IdleCallBackProc() noexcept
アイドル処理コールバック関数
Definition: CWndMain.h:600
virtual bool UpdateStatusBar() noexcept
ステータスバー更新関数
Definition: CWndMain.cpp:2176

呼び出し関係図:

被呼び出し関係図:

bool LibWindow::CWndMain::InitFrame ( )
virtualnoexcept

フレーム管理初期化関数

フレーム管理初期化関数です。

引数
なし
戻り値
実行結果
  • true 継続
  • false 終了
注意
なし

CWndMain.cpp2330 行目に定義があります。

参照先 LibCommon::CTimer::Create(), m_bPerformanceTimer, m_cFrameWaitTimer, m_nPerformanceCount, m_nPerformanceFreq, m_nSecondCount.

参照元 Run().

2330  {
2331  // 処理ブロック
2332  bool result = false;
2333  do {
2334  // フレーム更新待機タイマを作成する
2335  if ( !m_cFrameWaitTimer.Create() ) {
2336  // 失敗!
2337  break;
2338  }
2339 
2340  // パフォーマンスカウンタ周波数を取得する
2341  LARGE_INTEGER sFrequency = {};
2342  if ( 0 != ::QueryPerformanceFrequency( &sFrequency ) ) {
2343  // 高精度タイマ有効フラグをセットする
2344  m_bPerformanceTimer = true;
2345 
2346  // パフォーマンスカウンタ周波数を設定する
2347  m_nPerformanceFreq = sFrequency.QuadPart;
2348 
2349  // パフォーマンスカウントを取得する
2350  LARGE_INTEGER sPerformanceCount = {};
2351  ::QueryPerformanceCounter( &sPerformanceCount );
2352  m_nPerformanceCount = sPerformanceCount.QuadPart;
2353 
2354  // 1秒待ちカウントを設定する
2356  }
2357 
2358  // 成功!
2359  result = true;
2360  } while ( false );
2361 
2362  // 実行結果を返す
2363  return result;
2364  }
CTimer m_cFrameWaitTimer
フレーム更新待機タイマ
Definition: CWndMain.h:693
bool m_bPerformanceTimer
高精度タイマ有効フラグ
Definition: CWndMain.h:688
LONGLONG m_nPerformanceCount
パフォーマンスカウント
Definition: CWndMain.h:690
virtual bool Create(wchar_t const *pszObjectName=nullptr) noexcept
作成関数
Definition: CTimer.cpp:103
LONGLONG m_nPerformanceFreq
パフォーマンス周波数
Definition: CWndMain.h:689
LONGLONG m_nSecondCount
1秒待ちカウント
Definition: CWndMain.h:691

呼び出し関係図:

被呼び出し関係図:

bool LibWindow::CWndMain::StartFrame ( )
virtualnoexcept

フレーム開始関数

フレーム開始関数です。

引数
なし
戻り値
実行結果
  • true 継続
  • false 終了
注意
なし

CWndMain.cpp2368 行目に定義があります。

参照先 m_bPerformanceTimer, m_cFrameWaitTimer, m_nErrorCount, m_nFrameWaitTime, m_nPerformanceFreq, LibCommon::CTimer::SetNano100().

参照元 Run().

2368  {
2369  // 処理ブロック
2370  bool result = false;
2371  do {
2372  // 高精度タイマ有効フラグを調べる
2373  if ( !m_bPerformanceTimer ) {
2374  // 終了!
2375  break;
2376  }
2377  // 積算誤差を調べる
2378  else if ( 0 < m_nErrorCount ) {
2379  // 待機時間を取得する
2380  m_nFrameWaitTime = ( 10LL * 1000 * 1000 * m_nErrorCount / m_nPerformanceFreq );
2381 
2382  // 100ナノ待機タイマをセットする
2384  }
2385  else {
2386  // フレーム更新待機時間をクリアする
2387  m_nFrameWaitTime = 0;
2388  }
2389 
2390  // 成功!
2391  result = true;
2392  } while ( false );
2393 
2394  // 実行結果を返す
2395  return result;
2396  }
LONGLONG m_nFrameWaitTime
フレーム更新待機時間
Definition: CWndMain.h:694
CTimer m_cFrameWaitTimer
フレーム更新待機タイマ
Definition: CWndMain.h:693
virtual bool SetNano100(LONGLONG llWait, LONG nPeriod=0, PTIMERAPCROUTINE pfnCallBack=nullptr, LPVOID lpParam=nullptr, bool bResume=false) noexcept
100ナノタイマ設定関数
Definition: CTimer.cpp:218
bool m_bPerformanceTimer
高精度タイマ有効フラグ
Definition: CWndMain.h:688
LONGLONG m_nErrorCount
積算誤差カウント
Definition: CWndMain.h:692
LONGLONG m_nPerformanceFreq
パフォーマンス周波数
Definition: CWndMain.h:689

呼び出し関係図:

被呼び出し関係図:

bool LibWindow::CWndMain::EndFrame ( )
virtualnoexcept

フレーム終了関数

フレーム終了関数です。

引数
なし
戻り値
実行結果
  • true 継続
  • false 終了
注意
なし

CWndMain.cpp2400 行目に定義があります。

参照先 m_bPerformanceTimer, m_bUpdatedFpsValue, m_cFrameWaitTimer, m_nErrorCount, m_nFpsCount, m_nFpsMax, m_nFpsValue, m_nFrameWaitTime, m_nPerformanceCount, m_nPerformanceFreq, m_nSecondCount, LibCommon::CTimer::Wait().

参照元 Run().

2400  {
2401  // 処理ブロック
2402  bool result = false;
2403  do {
2404  // 高精度タイマ有効フラグを調べる
2405  if ( !m_bPerformanceTimer ) {
2406  // 終了!
2407  break;
2408  }
2409  // フレーム更新待機時間を調べる
2410  else if ( 0 < m_nFrameWaitTime ) {
2411  // フレーム更新待機タイマがシグナル状態になるまで最大100ms待つ
2412  m_cFrameWaitTimer.Wait( 100 );
2413  }
2414 
2415  // パフォーマンスカウントを取得する
2416  LARGE_INTEGER sPerformanceCount = {};
2417  ::QueryPerformanceCounter( &sPerformanceCount );
2418 
2419  // 1フレーム経過時間を取得する
2420  LONGLONG nFrameTime = ( sPerformanceCount.QuadPart - m_nPerformanceCount );
2421 
2422  // FPS最大値を調べる
2423  if ( 0 < m_nFpsMax ) {
2424  // 積算誤差カウントを更新する
2425  m_nErrorCount += ( m_nPerformanceFreq / m_nFpsMax - nFrameTime );
2426  }
2427  else {
2428  // 積算誤差カウントをクリアする
2429  m_nErrorCount = 0;
2430  }
2431 
2432  // FPSカウントをインクリメントする
2433  ++m_nFpsCount;
2434 
2435  // 1秒待ちカウントを更新する
2436  m_nSecondCount -= nFrameTime;
2437  if ( 0 > m_nSecondCount ) {
2438  // FPS測定値を更新する
2440  m_nFpsCount = 0;
2441 
2442  // 1秒待ちカウントを設定する
2444 
2445  // FPS測定値更新フラグをセットする
2446  m_bUpdatedFpsValue = true;
2447  }
2448 
2449  // パフォーマンスカウントを更新する
2450  m_nPerformanceCount = sPerformanceCount.QuadPart;
2451 
2452  // 成功!
2453  result = true;
2454  } while ( false );
2455 
2456  // 実行結果を返す
2457  return result;
2458  }
LONGLONG m_nFrameWaitTime
フレーム更新待機時間
Definition: CWndMain.h:694
int m_nFpsCount
FPSカウント
Definition: CWndMain.h:695
CTimer m_cFrameWaitTimer
フレーム更新待機タイマ
Definition: CWndMain.h:693
int m_nFpsValue
FPS測定値
Definition: CWndMain.h:696
virtual bool Wait(DWORD dwTime=INFINITE) noexcept override
ウェイト関数
Definition: CTimer.cpp:71
int m_nFpsMax
FPS最大値
Definition: CWndMain.h:697
bool m_bPerformanceTimer
高精度タイマ有効フラグ
Definition: CWndMain.h:688
LONGLONG m_nPerformanceCount
パフォーマンスカウント
Definition: CWndMain.h:690
LONGLONG m_nErrorCount
積算誤差カウント
Definition: CWndMain.h:692
LONGLONG m_nPerformanceFreq
パフォーマンス周波数
Definition: CWndMain.h:689
bool m_bUpdatedFpsValue
FPS測定値更新フラグ
Definition: CWndMain.h:698
LONGLONG m_nSecondCount
1秒待ちカウント
Definition: CWndMain.h:691

呼び出し関係図:

被呼び出し関係図:

virtual bool LibWindow::CWndMain::IdleCallBackProc ( )
inlinevirtualnoexcept

アイドル処理コールバック関数

アイドル処理コールバック関数です。

引数
なし
戻り値
実行結果
  • true 継続
  • false 終了
注意
なし

AppTest::CAppTestで再実装されています。

CWndMain.h600 行目に定義があります。

参照元 Run().

600 { return true; }

被呼び出し関係図:

bool LibWindow::CWndMain::ResumeConfigStatic ( CJsonConfig rcConfig)
staticnoexcept

静的構成情報復元関数

静的構成情報復元関数です。

引数
[in]rcConfigJSON構成ファイル参照
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CWndMain.cpp2464 行目に定義があります。

参照先 KEY_DRAW_DOUBLE_BUFFER, KEY_RESIZE_PARTITION_REALTIME, KEY_SHOW_DEBUG_INFO, LibWindow::CWndPane::s_bDrawDoubleBuffer, LibWindow::CWndPane::s_bResizePartitionRealTime, LibWindow::CWndPane::s_bShowDebugInfo.

参照元 AppTest::CAppTest::ResumeConfigWindow().

2464  {
2465  // 処理ブロック
2466  bool result = false;
2467  do {
2468  // デバッグ情報表示フラグを取得する
2469  rcConfig.Get( s_bShowDebugInfo, KEY_SHOW_DEBUG_INFO );
2470 
2471  // ダブルバッファリング描画フラグを取得する
2473 
2474  // リアルタイムパーティションサイズ変更フラグを取得する
2476 
2477  // 成功!
2478  result = true;
2479  } while ( false );
2480 
2481  // 実行結果を返す
2482  return result;
2483  }
static wchar_t const *const KEY_RESIZE_PARTITION_REALTIME
リアルタイムパーティションサイズ変更キー文字列
Definition: CWndMain.h:725
static wchar_t const *const KEY_DRAW_DOUBLE_BUFFER
ダブルバッファリング描画キー文字列
Definition: CWndMain.h:724
static bool s_bShowDebugInfo
デバッグ情報表示フラグ
Definition: CWndPane.h:693
static bool s_bResizePartitionRealTime
リアルタイムパーティションサイズ変更フラグ
Definition: CWndPane.h:695
static wchar_t const *const KEY_SHOW_DEBUG_INFO
デバッグ情報表示キー文字列
Definition: CWndMain.h:723
static bool s_bDrawDoubleBuffer
ダブルバッファリング描画フラグ
Definition: CWndPane.h:694

被呼び出し関係図:

bool LibWindow::CWndMain::SaveConfigStatic ( CJsonConfig rcConfig)
staticnoexcept

静的構成情報保存関数

静的構成情報保存関数です。

引数
[in]rcConfigJSON構成ファイル参照
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

CWndMain.cpp2487 行目に定義があります。

参照先 _SOLUTION_DIR, KEY_DRAW_DOUBLE_BUFFER, KEY_FOCUS_FLOATING, KEY_FOCUS_OVERLAP, KEY_RESIZE_PARTITION_REALTIME, KEY_SHOW_DEBUG_INFO, KEY_VIEW_STATUSBAR, KEY_VIEW_TOOLBAR, LIB_WINDOW_API, PATH_ICON_IMAGE, LibWindow::CWndPane::s_bDrawDoubleBuffer, LibWindow::CWndPane::s_bResizePartitionRealTime, LibWindow::CWndPane::s_bShowDebugInfo, SECTION_FLOATING_LIST, SECTION_OVERLAP_LIST, STATUSBAR_OTHERS, STATUSBAR_TITLE_ERROR, STATUSBAR_TITLE_FPS (計18項目).

参照元 AppTest::CAppTest::SaveConfigWindow().

2487  {
2488  // 処理ブロック
2489  bool result = false;
2490  do {
2491  // デバッグ情報表示フラグを調べる
2492  if ( s_bShowDebugInfo ) {
2493  // デバッグ情報表示フラグを保存する
2494  if ( !rcConfig.Set( s_bShowDebugInfo, KEY_SHOW_DEBUG_INFO ) ) {
2495  // 失敗!
2496  break;
2497  }
2498  }
2499 
2500  // ダブルバッファリング描画フラグを調べる
2501  if ( s_bDrawDoubleBuffer ) {
2502  // ダブルバッファリング描画フラグを取得する
2503  if ( !rcConfig.Set( s_bDrawDoubleBuffer, KEY_DRAW_DOUBLE_BUFFER ) ) {
2504  // 失敗!
2505  break;
2506  }
2507  }
2508 
2509  // リアルタイムパーティションサイズ変更フラグを調べる
2511  // リアルタイムパーティションサイズ変更フラグを取得する
2513  // 失敗!
2514  break;
2515  }
2516  }
2517 
2518  // 成功!
2519  result = true;
2520  } while ( false );
2521 
2522  // 実行結果を返す
2523  return result;
2524  }
static wchar_t const *const KEY_RESIZE_PARTITION_REALTIME
リアルタイムパーティションサイズ変更キー文字列
Definition: CWndMain.h:725
static wchar_t const *const KEY_DRAW_DOUBLE_BUFFER
ダブルバッファリング描画キー文字列
Definition: CWndMain.h:724
static bool s_bShowDebugInfo
デバッグ情報表示フラグ
Definition: CWndPane.h:693
static bool s_bResizePartitionRealTime
リアルタイムパーティションサイズ変更フラグ
Definition: CWndPane.h:695
static wchar_t const *const KEY_SHOW_DEBUG_INFO
デバッグ情報表示キー文字列
Definition: CWndMain.h:723
static bool s_bDrawDoubleBuffer
ダブルバッファリング描画フラグ
Definition: CWndPane.h:694

被呼び出し関係図:

static CWndElement* LibWindow::CWndMain::CreateOverlapWindow ( )
inlinestaticnoexcept

オーバーラップウィンドウ作成関数

オーバーラップウィンドウ作成関数です。

引数
なし
戻り値
エレメントウィンドウポインタ
注意
なし

CWndMain.h640 行目に定義があります。

参照元 AppendNewOverlapWindow(), InitConfig().

640 { return new CWndOverlap(); }
CWndOverlap() noexcept
コンストラクタ
Definition: CWndOverlap.cpp:32

被呼び出し関係図:

static CWndElement* LibWindow::CWndMain::CreateFloatingWindow ( )
inlinestaticnoexcept

フローティングウィンドウ作成関数

フローティングウィンドウ作成関数です。

引数
なし
戻り値
エレメントウィンドウポインタ
注意
なし

CWndMain.h651 行目に定義があります。

参照元 AppendNewFloatingWindow(), InitConfig().

651 { return new CWndFloating(); }

被呼び出し関係図:

CWndMain& LibWindow::CWndMain::operator= ( CWndMain const &  )
privatedelete

メンバ詳解

HMENU LibWindow::CWndMain::m_hMenu
protected

メニューハンドル

CWndMain.h672 行目に定義があります。

参照元 Create(), CWndMain(), UpdateMenuBar(), UpdateToolBar(), WmCommand(), WmMenuSelect(), ~CWndMain().

HACCEL LibWindow::CWndMain::m_hAccel
protected

アクセラレータテーブルハンドル

CWndMain.h673 行目に定義があります。

参照元 CreateAccel(), Run(), ~CWndMain().

HWND LibWindow::CWndMain::m_hStatusBar
protected

ステータスバーコントロールハンドル

CWndMain.h674 行目に定義があります。

参照元 AppendMainMenu(), CreateStatusBar(), ExecMenuCommand(), GetPartitionClientRect(), ResumeConfig(), SaveConfig(), UpdateStatusBar(), WmSize().

HWND LibWindow::CWndMain::m_hSeparator
protected

セパレータコントロールハンドル

CWndMain.h675 行目に定義があります。

参照元 CreateSeparator(), GetPartitionClientRect(), WmDrawItem(), WmSize().

CWndToolBar LibWindow::CWndMain::m_cToolBar
protected
CWndList LibWindow::CWndMain::m_cOverlapList
protected
CWndList LibWindow::CWndMain::m_cFloatingList
protected
HIMAGELIST LibWindow::CWndMain::m_hIconImageList
protected

アイコンイメージリストハンドル

CWndMain.h679 行目に定義があります。

参照元 CreateIconImageList(), CreateToolBar().

CArray< SIconImageInfo >* LibWindow::CWndMain::m_pcIconImageList
protected

アイコンイメージリストポインタ

CWndMain.h680 行目に定義があります。

参照元 CreateIconImageList(), CreateToolBarButtonList(), CWndMain(), ~CWndMain().

CArray< TBBUTTON >* LibWindow::CWndMain::m_pcToolBarButtonList
protected

ツールバーボタンリストポインタ

CWndMain.h681 行目に定義があります。

参照元 CreateToolBar(), CreateToolBarButtonList(), CWndMain(), UpdateToolBar(), WmMouseActivate(), ~CWndMain().

bool LibWindow::CWndMain::m_bFocusOverlap
protected

オーバーラップウィンドウフォーカス有効フラグ

CWndMain.h682 行目に定義があります。

参照元 InitConfig(), NmClick(), SaveConfig(), WmExitMenuLoop(), WmMouseActivate(), WmNotifyChildSetFocus(), WmSetFocus().

bool LibWindow::CWndMain::m_bFocusFloating
protected

フローティングウィンドウフォーカス有効フラグ

CWndMain.h683 行目に定義があります。

参照元 InitConfig(), NmClick(), SaveConfig(), WmExitMenuLoop(), WmMouseActivate(), WmNotifyChildSetFocus(), WmSetFocus().

bool LibWindow::CWndMain::m_bMenuMouseActivate
protected

メニューマウスアクティベートフラグ

CWndMain.h684 行目に定義があります。

参照元 WmExitMenuLoop(), WmMenuSelect(), WmMouseActivate(), WmSetFocus().

bool LibWindow::CWndMain::m_bValidMenuSelect
protected

メニュー項目選択有効フラグ

CWndMain.h685 行目に定義があります。

参照元 WmExitMenuLoop(), WmMenuSelect(), WmMouseActivate().

bool LibWindow::CWndMain::m_bToolBarMouseActivate
protected

ツールバーマウスアクティベートフラグ

CWndMain.h686 行目に定義があります。

参照元 NmClick(), WmMouseActivate(), WmNotifyChildLButtonUp(), WmSetFocus().

bool LibWindow::CWndMain::m_bValidToolBarSelect
protected

ツールバーボタン選択有効フラグ

CWndMain.h687 行目に定義があります。

参照元 WmMouseActivate(), WmNotifyChildLButtonUp().

bool LibWindow::CWndMain::m_bPerformanceTimer
protected

高精度タイマ有効フラグ

CWndMain.h688 行目に定義があります。

参照元 EndFrame(), InitFrame(), StartFrame(), UpdateStatusBar().

LONGLONG LibWindow::CWndMain::m_nPerformanceFreq
protected

パフォーマンス周波数

CWndMain.h689 行目に定義があります。

参照元 EndFrame(), InitFrame(), StartFrame(), UpdateStatusBar().

LONGLONG LibWindow::CWndMain::m_nPerformanceCount
protected

パフォーマンスカウント

CWndMain.h690 行目に定義があります。

参照元 EndFrame(), InitFrame().

LONGLONG LibWindow::CWndMain::m_nSecondCount
protected

1秒待ちカウント

CWndMain.h691 行目に定義があります。

参照元 EndFrame(), InitFrame().

LONGLONG LibWindow::CWndMain::m_nErrorCount
protected

積算誤差カウント

CWndMain.h692 行目に定義があります。

参照元 EndFrame(), StartFrame(), UpdateStatusBar().

CTimer LibWindow::CWndMain::m_cFrameWaitTimer
protected

フレーム更新待機タイマ

CWndMain.h693 行目に定義があります。

参照元 EndFrame(), InitFrame(), StartFrame().

LONGLONG LibWindow::CWndMain::m_nFrameWaitTime
protected

フレーム更新待機時間

CWndMain.h694 行目に定義があります。

参照元 EndFrame(), StartFrame().

int LibWindow::CWndMain::m_nFpsCount
protected

FPSカウント

CWndMain.h695 行目に定義があります。

参照元 EndFrame().

int LibWindow::CWndMain::m_nFpsValue
protected

FPS測定値

CWndMain.h696 行目に定義があります。

参照元 EndFrame(), UpdateStatusBar().

int LibWindow::CWndMain::m_nFpsMax
protected

FPS最大値

CWndMain.h697 行目に定義があります。

参照元 EndFrame(), UpdateStatusBar().

bool LibWindow::CWndMain::m_bUpdatedFpsValue
protected

FPS測定値更新フラグ

CWndMain.h698 行目に定義があります。

参照元 EndFrame(), Run().

CString LibWindow::CWndMain::m_cOtherInfo
protected

その他の情報文字列

CWndMain.h699 行目に定義があります。

参照元 CreateStatusBar(), UpdateStatusBar().

int const LibWindow::CWndMain::SEPARATOR_HEIGHT = 1
staticprotected

セパレータコントロール垂直サイズ

CWndMain.h704 行目に定義があります。

参照元 WmSize().

COLORREF const LibWindow::CWndMain::COLOR_SEPARATOR = RGB( 182, 188, 204 )
staticprotected

タブ項目境界色

CWndMain.h705 行目に定義があります。

参照元 DrawSeparator().

int const LibWindow::CWndMain::STATUSBAR_PARTS_COUNT = 5
staticprotected

ステータスバーコントロール分割数

CWndMain.h706 行目に定義があります。

参照元 CreateStatusBar().

int const LibWindow::CWndMain::STATUSBAR_INDEX_FPS_TITLE = 0
staticprotected

FPS測定値タイトル表示インデックス

CWndMain.h707 行目に定義があります。

参照元 CreateStatusBar().

int const LibWindow::CWndMain::STATUSBAR_INDEX_FPS_VALUE = 1
staticprotected

FPS測定値表示インデックス

CWndMain.h708 行目に定義があります。

参照元 CreateStatusBar(), UpdateStatusBar().

int const LibWindow::CWndMain::STATUSBAR_INDEX_ERROR_TITLE = 2
staticprotected

積算誤差タイトル表示インデックス

CWndMain.h709 行目に定義があります。

参照元 CreateStatusBar().

int const LibWindow::CWndMain::STATUSBAR_INDEX_ERROR_VALUE = 3
staticprotected

積算誤差表示インデックス

CWndMain.h710 行目に定義があります。

参照元 CreateStatusBar(), UpdateStatusBar().

int const LibWindow::CWndMain::STATUSBAR_INDEX_OTHERS = 4
staticprotected

その他の表示インデックス

CWndMain.h711 行目に定義があります。

参照元 UpdateStatusBar().

int const LibWindow::CWndMain::STATUSBAR_INDEX_FPS_WIDTH = 100
staticprotected

FPS測定値表示幅

CWndMain.h712 行目に定義があります。

参照元 CreateStatusBar().

int const LibWindow::CWndMain::STATUSBAR_INDEX_ERROR_WIDTH = 100
staticprotected

積算誤差表示幅

CWndMain.h713 行目に定義があります。

参照元 CreateStatusBar().

int const LibWindow::CWndMain::FPS_MAX = 60
staticprotected

FPS最大値デフォルト値

CWndMain.h714 行目に定義があります。

wchar_t const *const LibWindow::CWndMain::PATH_ICON_IMAGE = ( _SOLUTION_DIR L"Image\\" )
staticprotected

アイコンイメージファイルディレクトリ文字列

CWndMain.h719 行目に定義があります。

参照元 CreateIconImageList(), SaveConfigStatic().

wchar_t const *const LibWindow::CWndMain::STATUSBAR_TITLE_FPS = L"FPS "
staticprotected

ステータスバーFPSタイトル文字列

CWndMain.h720 行目に定義があります。

参照元 CreateStatusBar(), SaveConfigStatic().

wchar_t const *const LibWindow::CWndMain::STATUSBAR_TITLE_ERROR = L"積算誤差 "
staticprotected

ステータスバー積算誤差タイトル文字列

CWndMain.h721 行目に定義があります。

参照元 CreateStatusBar(), SaveConfigStatic().

wchar_t const *const LibWindow::CWndMain::STATUSBAR_OTHERS = L"その他の情報"
staticprotected

ステータスバーその他の情報初期値文字列

CWndMain.h722 行目に定義があります。

参照元 CreateStatusBar(), SaveConfigStatic().

wchar_t const *const LibWindow::CWndMain::KEY_SHOW_DEBUG_INFO = L"デバッグ情報表示"
staticprotected

デバッグ情報表示キー文字列

CWndMain.h723 行目に定義があります。

参照元 ResumeConfigStatic(), SaveConfigStatic().

wchar_t const *const LibWindow::CWndMain::KEY_DRAW_DOUBLE_BUFFER = L"ダブルバッファリング描画"
staticprotected

ダブルバッファリング描画キー文字列

CWndMain.h724 行目に定義があります。

参照元 ResumeConfigStatic(), SaveConfigStatic().

wchar_t const *const LibWindow::CWndMain::KEY_RESIZE_PARTITION_REALTIME = L"リアルタイムパーティションサイズ変更"
staticprotected

リアルタイムパーティションサイズ変更キー文字列

CWndMain.h725 行目に定義があります。

参照元 ResumeConfigStatic(), SaveConfigStatic().

wchar_t const *const LibWindow::CWndMain::KEY_VIEW_TOOLBAR = L"ツールバー表示状態"
staticprotected

ツールバー表示状態キー文字列

CWndMain.h726 行目に定義があります。

参照元 ResumeConfig(), SaveConfig(), SaveConfigStatic().

wchar_t const *const LibWindow::CWndMain::KEY_VIEW_STATUSBAR = L"ステータスバー表示状態"
staticprotected

ステータスバー表示状態キー文字列

CWndMain.h727 行目に定義があります。

参照元 ResumeConfig(), SaveConfig(), SaveConfigStatic().

wchar_t const *const LibWindow::CWndMain::SECTION_OVERLAP_LIST = L"オーバーラップウィンドウリスト"
staticprotected

オーバーラップウィンドウリストセクション文字列

CWndMain.h728 行目に定義があります。

参照元 InitConfig(), ResumeConfig(), SaveConfig(), SaveConfigStatic().

wchar_t const *const LibWindow::CWndMain::SECTION_FLOATING_LIST = L"フローティングウィンドウリスト"
staticprotected

フローティングウィンドウリストセクション文字列

CWndMain.h729 行目に定義があります。

参照元 InitConfig(), ResumeConfig(), SaveConfig(), SaveConfigStatic().

wchar_t const *const LibWindow::CWndMain::KEY_FOCUS_OVERLAP = L"オーバーラップウィンドウフォーカス有効"
staticprotected

オーバーラップウィンドウフォーカス有効状態キー文字列

CWndMain.h730 行目に定義があります。

参照元 InitConfig(), SaveConfig(), SaveConfigStatic().

wchar_t const *const LibWindow::CWndMain::KEY_FOCUS_FLOATING = L"フローティングウィンドウフォーカス有効"
staticprotected

フローティングウィンドウフォーカス有効状態キー文字列

CWndMain.h731 行目に定義があります。

参照元 InitConfig(), SaveConfig(), SaveConfigStatic().


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