Solution46
CWndDockingPartition.h
[詳解]
1 //=============================================================================
2 /// @file
3 /// ドッキングパーティションウィンドウクラスヘッダファイル
4 ///
5 /// ドッキングパーティションウィンドウクラスヘッダファイルです。
6 ///
7 /// $Id: CWndDockingPartition.h 245 2019-03-20 15:03:41Z admin $
8 /// $Date: 2019-03-21 00:03:41 +0900 (2019/03/21 (木)) $
9 /// $Author: admin $
10 ///
11 /// @attention なし
12 
13 #pragma once
14 #pragma managed( push, off )
15 
16 //=============================================================================
17 // インクルードファイル
18 #include <CWndPartition.h>
19 #include <CWndDocking.h>
20 
21 //=============================================================================
22 // ウィンドウライブラリ名前空間
23 namespace LibWindow {
24  //=========================================================================
25  /// ドッキングパーティションウィンドウクラス
26  ///
27  /// ドッキングパーティションウィンドウクラスです。
28  ///
29  /// @attention なし
30  ///
32  //=====================================================================
33  // 構築子と解体子
34  public:
35  //---------------------------------------------------------------------
36  /// コンストラクタ
37  ///
38  /// コンストラクタです。
39  ///
40  /// @param なし
41  /// @return なし
42  /// @attention なし
43  ///
44  explicit CWndDockingPartition() noexcept;
45 
46  //---------------------------------------------------------------------
47  /// デストラクタ
48  ///
49  /// デストラクタです。
50  ///
51  /// @param なし
52  /// @return なし
53  /// @attention なし
54  ///
55  virtual ~CWndDockingPartition() noexcept;
56 
57  //=====================================================================
58  // インライン公開関数
59  public:
60  //---------------------------------------------------------------------
61  /// セクション名取得関数
62  ///
63  /// セクション名取得関数です。
64  ///
65  /// @param なし
66  /// @return 文字列ポインタ
67  /// @attention オーバライド関数です。
68  ///
69  inline virtual wchar_t const* GetSectionName() const noexcept override { return L"ドッキングパーティションウィンドウ"; }
70 
71  //---------------------------------------------------------------------
72  /// サイズバーコントロール取得関数
73  ///
74  /// サイズバーコントロール取得関数です。
75  ///
76  /// @param なし
77  /// @return コントロールハンドル
78  /// @attention オーバライド関数です。
79  ///
80  inline virtual HWND GetSizeBar() const noexcept override { return m_hSizeBar; }
81 
82  //---------------------------------------------------------------------
83  /// パーティション配置位置取得関数
84  ///
85  /// パーティション配置位置取得関数です。
86  ///
87  /// @param なし
88  /// @return パーティション配置位置種別
89  /// @attention オーバライド関数です。
90  ///
91  inline virtual EPartitionPos GetPartitionPos() const noexcept override { return m_ePartitionPos; }
92 
93  //---------------------------------------------------------------------
94  /// パーティションサイズ取得関数
95  ///
96  /// パーティションサイズ取得関数です。
97  ///
98  /// @param なし
99  /// @return パーティションサイズ
100  /// @attention オーバライド関数です。
101  ///
102  inline virtual int GetPartitionSize() const noexcept override { return m_nPartitionSize; }
103 
104  //---------------------------------------------------------------------
105  /// パーティションサイズ設定関数
106  ///
107  /// パーティションサイズ設定関数です。
108  ///
109  /// @param[in] nSize パーティションサイズ
110  /// @return 実行結果
111  /// - true 成功
112  /// - false 失敗
113  /// @attention オーバライド関数です。
114  ///
115  inline virtual bool SetPartitionSize( int nSize ) noexcept override { m_nPartitionSize = nSize; return true; }
116 
117  //=====================================================================
118  // 公開関数
119  public:
120  //---------------------------------------------------------------------
121  /// ウィンドウ作成関数
122  ///
123  /// ウィンドウ作成関数です。
124  ///
125  /// @param[in] hParent 親ウィンドウハンドル
126  /// @param[in] hMenu メニューハンドル
127  /// @return 実行結果
128  /// - true 成功
129  /// - false 失敗
130  /// @attention オーバライド関数です。
131  ///
132  virtual bool Create( HWND hParent = nullptr, HMENU hMenu = nullptr ) noexcept override;
133 
134  //---------------------------------------------------------------------
135  /// ウィンドウ構成情報初期化関数
136  ///
137  /// ウィンドウ構成情報初期化関数です。
138  ///
139  /// @param[in] rcConfig JSON構成ファイル参照
140  /// @return 実行結果
141  /// - true 成功
142  /// - false 失敗
143  /// @attention オーバライド関数です。
144  ///
145  virtual bool InitConfig( CJsonConfig& rcConfig ) noexcept override;
146 
147  //---------------------------------------------------------------------
148  /// ウィンドウ構成情報保存関数
149  ///
150  /// ウィンドウ構成情報保存関数です。
151  ///
152  /// @param[in] rcConfig JSON構成ファイル参照
153  /// @return 実行結果
154  /// - true 成功
155  /// - false 失敗
156  /// @attention オーバライド関数です。
157  ///
158  virtual bool SaveConfig( CJsonConfig& rcConfig ) noexcept override;
159 
160  //---------------------------------------------------------------------
161  /// メニューコマンド実行関数
162  ///
163  /// メニューコマンド実行関数です。
164  ///
165  /// @param[in] wId コマンドID
166  /// @param[in] wCode 通知コード
167  /// @param[in] hCtrl コントロールハンドル
168  /// @return 実行結果
169  /// - true 成功
170  /// - false 失敗
171  /// @attention オーバライド関数です。
172  ///
173  virtual bool ExecMenuCommand( WORD wId, WORD wCode, HWND hCtrl ) noexcept override;
174 
175  //---------------------------------------------------------------------
176  /// デバッグメニュー追加関数
177  ///
178  /// デバッグメニュー追加関数です。
179  ///
180  /// @param[in] hMenu メニューハンドル
181  /// @return 実行結果
182  /// - true 成功
183  /// - false 失敗
184  /// @attention オーバライド関数です。
185  ///
186  virtual bool AppendDebugMenu( HMENU hMenu ) noexcept override;
187 
188  //=====================================================================
189  // 静的公開関数
190  public:
191  //---------------------------------------------------------------------
192  /// ドッキングウィンドウ作成関数
193  ///
194  /// ドッキングウィンドウ作成関数です。
195  ///
196  /// @param なし
197  /// @return エレメントウィンドウポインタ
198  /// @attention なし
199  ///
200  static CWndElement* CreateDockingWindow() noexcept { return new CWndDocking(); }
201 
202  //=====================================================================
203  // 限定公開変数
204  protected:
205  HWND m_hSizeBar; ///< サイズバーコントロールハンドル
206  EPartitionPos m_ePartitionPos; ///< パーティション配置位置種別
207  int m_nPartitionSize; ///< パーティションサイズ
208 
209  //=====================================================================
210  // 削除関数
211  private:
212  CWndDockingPartition( CWndDockingPartition const& ) = delete;
213  CWndDockingPartition& operator=( CWndDockingPartition const& ) = delete;
214  };
215 }
216 
217 #pragma managed( pop )
virtual int GetPartitionSize() const noexcept override
パーティションサイズ取得関数
virtual bool SetPartitionSize(int nSize) noexcept override
パーティションサイズ設定関数
static CWndElement * CreateDockingWindow() noexcept
ドッキングウィンドウ作成関数
ドッキングウィンドウクラスヘッダファイル
HWND m_hSizeBar
サイズバーコントロールハンドル
#define LIB_WINDOW_API
ダイナミックライブラリインポート宣言
Definition: LibWindowDef.h:30
パーティションウィンドウクラス
Definition: CWndPartition.h:31
JSON構成情報クラス
Definition: CJsonConfig.h:31
int m_nPartitionSize
パーティションサイズ
ウィンドウライブラリ名前空間
Definition: CommandIdDef.h:22
EPartitionPos
パーティション配置位置種別列挙体
Definition: CWndPane.h:58
ドッキングウィンドウクラス
Definition: CWndDocking.h:31
virtual EPartitionPos GetPartitionPos() const noexcept override
パーティション配置位置取得関数
virtual wchar_t const * GetSectionName() const noexcept override
セクション名取得関数
ドッキングパーティションウィンドウクラス
EPartitionPos m_ePartitionPos
パーティション配置位置種別
パーティションウィンドウクラスヘッダファイル
ペインウィンドウクラス
Definition: CWndPane.h:74
virtual HWND GetSizeBar() const noexcept override
サイズバーコントロール取得関数