Solution46
CWndPane.h
[詳解]
1 //=============================================================================
2 /// @file
3 /// ペインウィンドウクラスヘッダファイル
4 ///
5 /// ペインウィンドウクラスヘッダファイルです。
6 ///
7 /// $Id: CWndPane.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 <CWndBase.h>
19 #include <CJsonConfig.h>
20 
21 //=============================================================================
22 // ウィンドウライブラリ名前空間
23 namespace LibWindow {
24  //=========================================================================
25  // グローバル定数
26  //-------------------------------------------------------------------------
27  // ユーザ定義メッセージID
28  constexpr UINT const WM_NOTIFY_CHILD_SET_FOCUS = ( WM_APP + 1 ); ///< 子ウィンドウフォーカス取得通知
29  constexpr UINT const WM_NOTIFY_CHILD_KILL_FOCUS = ( WM_APP + 2 ); ///< 子ウィンドウフォーカス喪失通知
30  constexpr UINT const WM_NOTIFY_CHILD_LBUTTONDOWN = ( WM_APP + 3 ); ///< 子ウィンドウ左ボタンダウン通知
31  constexpr UINT const WM_NOTIFY_CHILD_LBUTTONUP = ( WM_APP + 4 ); ///< 子ウィンドウ左ボタンアップ通知
32  constexpr UINT const WM_NOTIFY_CHILD_COMMAND = ( WM_APP + 5 ); ///< 子ウィンドウコマンド実行通知
33 
34  //=========================================================================
35  // グローバル型定義
36  //-------------------------------------------------------------------------
37  /// 子ペインウィンドウ情報構造体
38  ///
39  /// 子ペインウィンドウ情報構造体です。
40  ///
41  /// @attention なし
42  ///
43  struct SChildPaneInfo {
44  int m_nCount; ///< 子ウィンドウ数
45  int m_nShow; ///< 表示状態子ウィンドウ数
46  int m_nHide; ///< 非表示状態子ウィンドウ数
47  int m_nHideable; ///< 非表示可能子ウィンドウ数
48  int m_nDeletable; ///< 削除可能子ウィンドウ数
49  };
50 
51  //-------------------------------------------------------------------------
52  /// パーティション配置位置種別列挙体
53  ///
54  /// パーティション配置位置種別列挙体です。
55  ///
56  /// @attention なし
57  ///
58  enum class EPartitionPos {
59  Invalid, ///< 無効値
60  Left, ///< 左側
61  Top, ///< 上側
62  Right, ///< 右側
63  Bottom, ///< 下側
64  Size ///< 列挙体サイズ
65  };
66 
67  //=========================================================================
68  /// ペインウィンドウクラス
69  ///
70  /// ペインウィンドウクラスです。
71  ///
72  /// @attention なし
73  ///
75  //=====================================================================
76  // 構築子と解体子
77  public:
78  //---------------------------------------------------------------------
79  /// コンストラクタ
80  ///
81  /// コンストラクタです。
82  ///
83  /// @param なし
84  /// @return なし
85  /// @attention なし
86  ///
87  explicit CWndPane() noexcept;
88 
89  //---------------------------------------------------------------------
90  /// ムーブコンストラクタ
91  ///
92  /// ムーブコンストラクタです。
93  ///
94  /// @param[in] rcInstance インスタンス左辺値参照
95  /// @return なし
96  /// @attention なし
97  ///
98  explicit CWndPane( CWndPane&& rcInstance ) noexcept;
99 
100  //---------------------------------------------------------------------
101  /// デストラクタ
102  ///
103  /// デストラクタです。
104  ///
105  /// @param なし
106  /// @return なし
107  /// @attention なし
108  ///
109  virtual ~CWndPane() noexcept {}
110 
111  //=====================================================================
112  // インライン公開関数
113  public:
114  //---------------------------------------------------------------------
115  /// セクション名取得関数
116  ///
117  /// セクション名取得関数です。
118  ///
119  /// @param なし
120  /// @return 文字列ポインタ
121  /// @attention なし
122  ///
123  inline virtual wchar_t const* GetSectionName() const noexcept { return L"ペインウィンドウ"; }
124 
125  //---------------------------------------------------------------------
126  /// クライアント描画領域背景色取得関数
127  ///
128  /// クライアント描画領域背景色取得関数です。
129  ///
130  /// @param なし
131  /// @return カラーコード
132  /// @attention なし
133  ///
134  inline virtual COLORREF GetBackColor() const noexcept { return ::GetSysColor( COLOR_APPWORKSPACE ); }
135 
136  //---------------------------------------------------------------------
137  /// クライアント描画領域文字色取得関数
138  ///
139  /// クライアント描画領域文字色取得関数です。
140  ///
141  /// @param なし
142  /// @return カラーコード
143  /// @attention なし
144  ///
145  inline virtual COLORREF GetTextColor() const noexcept { return ::GetSysColor( COLOR_WINDOWTEXT ); }
146 
147  //---------------------------------------------------------------------
148  /// フォーカス所有文字色取得関数
149  ///
150  /// フォーカス所有文字色取得関数です。
151  ///
152  /// @param なし
153  /// @return カラーコード
154  /// @attention なし
155  ///
156  inline virtual COLORREF GetFocusTextColor() const noexcept { return RGB( 240, 0, 0 ); }
157 
158  //---------------------------------------------------------------------
159  /// フォーカスウィンドウ文字色取得関数
160  ///
161  /// フォーカスウィンドウ文字色取得関数です。
162  ///
163  /// @param なし
164  /// @return カラーコード
165  /// @attention なし
166  ///
167  inline virtual COLORREF GetFocusWindowTextColor() const noexcept { return RGB( 0, 0, 192 ); }
168 
169  //---------------------------------------------------------------------
170  /// 表示フラグ取得関数
171  ///
172  /// 表示フラグ取得関数です。
173  ///
174  /// @param[in] hWnd ウィンドウハンドル
175  /// @return ペインウィンドウハンドル
176  /// @attention なし
177  ///
178  inline virtual CWndPane* GetPaneWindow( HWND hWnd ) const noexcept { return reinterpret_cast< CWndPane* >( GetBaseWindow( hWnd ) ); }
179 
180  //---------------------------------------------------------------------
181  /// 表示フラグ取得関数
182  ///
183  /// 表示フラグ取得関数です。
184  ///
185  /// @param なし
186  /// @return 実行結果
187  /// - true 表示
188  /// - false 非表示
189  /// @attention なし
190  ///
191  inline virtual bool IsShow() noexcept { return m_bShow; }
192 
193  //---------------------------------------------------------------------
194  /// 表示状態設定関数
195  ///
196  /// 表示状態設定関数です。
197  ///
198  /// @param[in] bShow ウィンドウ表示フラグ
199  /// @return 実行結果
200  /// - true 成功
201  /// - false 失敗
202  /// @attention なし
203  ///
204  inline virtual bool SetShow( bool bShow ) noexcept { m_bShow = bShow; return true; }
205 
206  //---------------------------------------------------------------------
207  /// サイズバーコントロール取得関数
208  ///
209  /// サイズバーコントロール取得関数です。
210  ///
211  /// @param なし
212  /// @return コントロールハンドル
213  /// @attention なし
214  ///
215  inline virtual HWND GetSizeBar() const noexcept { return nullptr; }
216 
217  //---------------------------------------------------------------------
218  /// パーティションウィンドウ判別関数
219  ///
220  /// パーティションウィンドウ判別関数です。
221  ///
222  /// @param なし
223  /// @return 実行結果
224  /// - true 成功
225  /// - false 失敗
226  /// @attention なし
227  ///
228  inline virtual bool IsPartition() const noexcept { return false; }
229 
230  //---------------------------------------------------------------------
231  /// パーティション配置位置取得関数
232  ///
233  /// パーティション配置位置取得関数です。
234  ///
235  /// @param なし
236  /// @return パーティション配置位置種別
237  /// @attention なし
238  ///
239  inline virtual EPartitionPos GetPartitionPos() const noexcept { return EPartitionPos::Invalid; }
240 
241  //---------------------------------------------------------------------
242  /// パーティションサイズ取得関数
243  ///
244  /// パーティションサイズ取得関数です。
245  ///
246  /// @param なし
247  /// @return パーティションサイズ
248  /// @attention なし
249  ///
250  inline virtual int GetPartitionSize() const noexcept { return 0; }
251 
252  //---------------------------------------------------------------------
253  /// パーティションサイズ設定関数
254  ///
255  /// パーティションサイズ設定関数です。
256  ///
257  /// @param[in] nSize パーティションサイズ
258  /// @return 実行結果
259  /// - true 成功
260  /// - false 失敗
261  /// @attention なし
262  ///
263  inline virtual bool SetPartitionSize( int nSize ) noexcept { return false; }
264 
265  //=====================================================================
266  // 公開関数
267  public:
268  //---------------------------------------------------------------------
269  /// ウィンドウ作成関数
270  ///
271  /// ウィンドウ作成関数です。
272  ///
273  /// @param[in] hParent 親ウィンドウハンドル
274  /// @param[in] hMenu メニューハンドル
275  /// @return 実行結果
276  /// - true 成功
277  /// - false 失敗
278  /// @attention オーバライド関数です。
279  ///
280  virtual bool Create( HWND hParent = nullptr, HMENU hMenu = nullptr ) noexcept override;
281 
282  //---------------------------------------------------------------------
283  /// ウィンドウ作成スタイル取得関数
284  ///
285  /// ウィンドウ作成スタイル取得関数です。
286  ///
287  /// @param なし
288  /// @return ウィンドウスタイル
289  /// @attention オーバライド関数です。
290  ///
291  virtual DWORD GetCreateStyle() noexcept override { return ( WS_VISIBLE | WS_CHILD | WS_CLIPSIBLINGS | WS_CLIPCHILDREN ); }
292 
293  //---------------------------------------------------------------------
294  /// 各種メッセージ処理関数
295  ///
296  /// 各種メッセージ処理関数です。
297  ///
298  /// @param なし
299  /// @return メッセージ終了コード
300  /// @attention オーバライド関数です。
301  ///
302  virtual LRESULT WmApp() noexcept override;
303  virtual LRESULT WmPaint() noexcept override;
304  virtual LRESULT WmSetFocus() noexcept override;
305  virtual LRESULT WmKillFocus() noexcept override;
306  virtual LRESULT WmLButtonDown() noexcept override;
307  virtual LRESULT WmContextMenu() noexcept override;
308  virtual LRESULT WmCommand() noexcept override;
309 
310  //---------------------------------------------------------------------
311  /// ユーザ定義メッセージ処理関数
312  ///
313  /// ユーザ定義メッセージ処理関数です。
314  ///
315  /// @param なし
316  /// @return メッセージ終了コード
317  /// @attention なし
318  ///
319  virtual LRESULT WmNotifyChildSetFocus() noexcept;
320  virtual LRESULT WmNotifyChildKillFocus() noexcept;
321  virtual LRESULT WmNotifyChildLButtonDown() noexcept { return 0; }
322  virtual LRESULT WmNotifyChildLButtonUp() noexcept { return 0; }
323  virtual LRESULT WmNotifyChildCommand() noexcept;
324 
325  //---------------------------------------------------------------------
326  /// ウィンドウ構成情報初期化関数
327  ///
328  /// ウィンドウ構成情報初期化関数です。
329  ///
330  /// @param[in] rcConfig JSON構成ファイル参照
331  /// @return 実行結果
332  /// - true 成功
333  /// - false 失敗
334  /// @attention なし
335  ///
336  virtual bool InitConfig( CJsonConfig& rcConfig ) noexcept { return true; }
337 
338  //---------------------------------------------------------------------
339  /// ウィンドウ構成情報復元関数
340  ///
341  /// ウィンドウ構成情報復元関数です。
342  ///
343  /// @param[in] rcConfig JSON構成ファイル参照
344  /// @return 実行結果
345  /// - true 成功
346  /// - false 失敗
347  /// @attention なし
348  ///
349  virtual bool ResumeConfig( CJsonConfig& rcConfig ) noexcept;
350 
351  //---------------------------------------------------------------------
352  /// ウィンドウ構成情報保存関数
353  ///
354  /// ウィンドウ構成情報保存関数です。
355  ///
356  /// @param[in] rcConfig JSON構成ファイル参照
357  /// @return 実行結果
358  /// - true 成功
359  /// - false 失敗
360  /// @attention なし
361  ///
362  virtual bool SaveConfig( CJsonConfig& rcConfig ) noexcept;
363 
364  //---------------------------------------------------------------------
365  /// 親ペインウィンドウ取得関数
366  ///
367  /// 親ペインウィンドウ取得関数です。
368  ///
369  /// @param なし
370  /// @return ペインウィンドウポインタ
371  /// @attention なし
372  ///
373  virtual CWndPane* GetParentPane() noexcept;
374 
375  //---------------------------------------------------------------------
376  /// 最上位ペインウィンドウ取得関数
377  ///
378  /// 最上位ペインウィンドウ取得関数です。
379  ///
380  /// @param なし
381  /// @return ペインウィンドウポインタ
382  /// @attention なし
383  ///
384  virtual CWndPane* GetTopLevelPane() noexcept;
385 
386  //---------------------------------------------------------------------
387  /// 子ペインウィンドウ情報取得関数
388  ///
389  /// 子ペインウィンドウ情報取得関数です。
390  ///
391  /// @param[in] rsChildInfo 子ペインウィンドウ情報構造体参照
392  /// @return 実行結果
393  /// - true 成功
394  /// - false 失敗
395  /// @attention なし
396  ///
397  virtual bool GetChildPaneInfo( SChildPaneInfo& rsChildInfo ) noexcept;
398 
399  //---------------------------------------------------------------------
400  /// ペインウィンドウオーダー番号取得関数
401  ///
402  /// ペインウィンドウオーダー番号取得関数です。
403  ///
404  /// @param[in] pcPane ペインウィンドウポインタ
405  /// @param[in,out] pnOrder オーダー番号ポインタ
406  /// @return オーダー番号
407  /// - 0以上 成功
408  /// - 0未満 失敗
409  /// @attention なし
410  ///
411  virtual int GetOrderIndex( CWndPane* pcPane = nullptr, int* pnOrder = nullptr ) noexcept;
412 
413  //---------------------------------------------------------------------
414  /// オーダー番号ペインウィンドウ取得関数
415  ///
416  /// オーダー番号ペインウィンドウ取得関数です。
417  ///
418  /// @param[in,out] pnOrder オーダー番号ポインタ
419  /// @return ペインウィンドウポインタ
420  /// @attention なし
421  ///
422  virtual CWndPane* GetOrderPane( int* pnOrder ) noexcept;
423 
424  //---------------------------------------------------------------------
425  /// 子ペインウィンドウ数取得関数
426  ///
427  /// 子ペインウィンドウ数取得関数です。
428  ///
429  /// @param なし
430  /// @return ウィンドウ数
431  /// @attention なし
432  ///
433  virtual int GetChildCount() noexcept;
434 
435  //---------------------------------------------------------------------
436  /// 表示状態子ペインウィンドウ数取得関数
437  ///
438  /// 表示状態子ペインウィンドウ数取得関数です。
439  ///
440  /// @param なし
441  /// @return ウィンドウ数
442  /// @attention なし
443  ///
444  virtual int GetShowChildCount() noexcept;
445 
446  //---------------------------------------------------------------------
447  /// 非表示状態子ペインウィンドウ数取得関数
448  ///
449  /// 非表示状態子ペインウィンドウ数取得関数です。
450  ///
451  /// @param なし
452  /// @return ウィンドウ数
453  /// @attention なし
454  ///
455  virtual int GetHideChildCount() noexcept;
456 
457  //---------------------------------------------------------------------
458  /// 非表示可能子ペインウィンドウ数取得関数
459  ///
460  /// 非表示可能子ペインウィンドウ数取得関数です。
461  ///
462  /// @param なし
463  /// @return ウィンドウ数
464  /// @attention なし
465  ///
466  virtual int GetHideableChildCount() noexcept;
467 
468  //---------------------------------------------------------------------
469  /// 削除可能子ペインウィンドウ数取得関数
470  ///
471  /// 削除可能子ペインウィンドウ数取得関数です。
472  ///
473  /// @param なし
474  /// @return ウィンドウ数
475  /// @attention なし
476  ///
477  virtual int GetDeletableChildCount() noexcept;
478 
479  //---------------------------------------------------------------------
480  /// 子ウィンドウ非表示可能状態取得関数
481  ///
482  /// 子ウィンドウ非表示可能状態取得関数です。
483  ///
484  /// @param[in] pcChild ペインウィンドウポインタ
485  /// @return 実行結果
486  /// - true 成功
487  /// - false 失敗
488  /// @attention なし
489  ///
490  virtual bool CanHideChildWindow( CWndPane* pcChild ) noexcept { return true; }
491 
492  //---------------------------------------------------------------------
493  /// 子ウィンドウ削除可能状態取得関数
494  ///
495  /// 子ウィンドウ削除可能状態取得関数です。
496  ///
497  /// @param[in] pcChild ペインウィンドウポインタ
498  /// @return 実行結果
499  /// - true 成功
500  /// - false 失敗
501  /// @attention なし
502  ///
503  virtual bool CanDeleteChildWindow( CWndPane* pcChild ) noexcept { return true; }
504 
505  //---------------------------------------------------------------------
506  /// 子ウィンドウ表示状態設定関数
507  ///
508  /// 子ウィンドウ表示状態設定関数です。
509  ///
510  /// @param[in] pcChild ペインウィンドウポインタ
511  /// @param[in] bShow ウィンドウ表示フラグ
512  /// @return 実行結果
513  /// - true 成功
514  /// - false 失敗
515  /// @attention なし
516  ///
517  virtual bool ShowChildWindow( CWndPane* pcChild, bool bShow ) noexcept;
518 
519  //---------------------------------------------------------------------
520  /// 子ウィンドウ削除関数
521  ///
522  /// 子ウィンドウ削除関数です。
523  ///
524  /// @param[in] pcChild ペインウィンドウポインタ
525  /// @return 実行結果
526  /// - true 成功
527  /// - false 失敗
528  /// @attention なし
529  ///
530  virtual bool DeleteChildWindow( CWndPane* pcChild ) noexcept { return false; }
531 
532  //---------------------------------------------------------------------
533  /// 全子ウィンドウ表示関数
534  ///
535  /// 全子ウィンドウ表示関数です。
536  ///
537  /// @param[in] bShow ウィンドウ表示フラグ
538  /// @return 実行結果
539  /// - true 成功
540  /// - false 失敗
541  /// @attention なし
542  ///
543  virtual bool ShowChildAll( bool bShow ) noexcept { return true; }
544 
545  //---------------------------------------------------------------------
546  /// 全子ウィンドウ削除関数
547  ///
548  /// 全子ウィンドウ削除関数です。
549  ///
550  /// @param なし
551  /// @return 実行結果
552  /// - true 成功
553  /// - false 失敗
554  /// @attention なし
555  ///
556  virtual bool DeleteChildAll() noexcept { return true; }
557 
558  //---------------------------------------------------------------------
559  /// クライアント領域更新関数
560  ///
561  /// クライアント領域更新関数です。
562  ///
563  /// @param なし
564  /// @return 実行結果
565  /// - true 成功
566  /// - false 失敗
567  /// @attention なし
568  ///
569  virtual bool UpdateClientRect() noexcept;
570 
571  //---------------------------------------------------------------------
572  /// 全ウィンドウクライアント領域更新関数
573  ///
574  /// 全ウィンドウクライアント領域更新関数です。
575  ///
576  /// @param なし
577  /// @return 実行結果
578  /// - true 成功
579  /// - false 失敗
580  /// @attention なし
581  ///
582  virtual bool UpdateClientRectAll() noexcept;
583 
584  //---------------------------------------------------------------------
585  /// クライアント描画領域取得関数
586  ///
587  /// クライアント描画領域取得関数です。
588  ///
589  /// @param[out] rsRect 矩形領域参照
590  /// @return 実行結果
591  /// - true 成功
592  /// - false 失敗
593  /// @attention なし
594  ///
595  virtual bool GetPaintRect( RECT& rsRect ) noexcept;
596 
597  //---------------------------------------------------------------------
598  /// クライアント領域描画関数
599  ///
600  /// クライアント領域描画関数です。
601  ///
602  /// @param[in] hDc デバイスコンテキストハンドル
603  /// @param[in] rsRect ゼロ基点描画領域
604  /// @return 実行結果
605  /// - true 成功
606  /// - false 失敗
607  /// @attention なし
608  ///
609  virtual bool DrawPaintRect( HDC hDc, RECT& rsRect ) noexcept;
610 
611  //---------------------------------------------------------------------
612  /// 最小水平サイズ取得関数
613  ///
614  /// 最小水平サイズ取得関数です。
615  ///
616  /// @param なし
617  /// @return 水平サイズ
618  /// @attention なし
619  ///
620  virtual int GetMinWidth() noexcept { return MIN_WIDTH; }
621 
622  //---------------------------------------------------------------------
623  /// 最小垂直サイズ取得関数
624  ///
625  /// 最小垂直サイズ取得関数です。
626  ///
627  /// @param なし
628  /// @return 垂直サイズ
629  /// @attention なし
630  ///
631  virtual int GetMinHeight() noexcept { return MIN_HEIGHT; }
632 
633  //---------------------------------------------------------------------
634  /// メニューコマンド実行関数
635  ///
636  /// メニューコマンド実行関数です。
637  ///
638  /// @param[in] wId コマンドID
639  /// @param[in] wCode 通知コード
640  /// @param[in] hCtrl コントロールハンドル
641  /// @return 実行結果
642  /// - true 成功
643  /// - false 失敗
644  /// @attention なし
645  ///
646  virtual bool ExecMenuCommand( WORD wId, WORD wCode, HWND hCtrl ) noexcept;
647 
648  //---------------------------------------------------------------------
649  /// コンテキストメニュー作成関数
650  ///
651  /// コンテキストメニュー作成関数です。
652  ///
653  /// @param なし
654  /// @return メニューハンドル
655  /// @attention なし
656  ///
657  virtual HMENU CreateContextMenu() noexcept;
658 
659  //---------------------------------------------------------------------
660  /// デバッグメニュー追加関数
661  ///
662  /// デバッグメニュー追加関数です。
663  ///
664  /// @param[in] hMenu メニューハンドル
665  /// @return 実行結果
666  /// - true 成功
667  /// - false 失敗
668  /// @attention なし
669  ///
670  virtual bool AppendDebugMenu( HMENU hMenu ) noexcept;
671 
672  //---------------------------------------------------------------------
673  /// 表示削除メニュー追加関数
674  ///
675  /// 表示削除メニュー追加関数です。
676  ///
677  /// @param[in] hMenu メニューハンドル
678  /// @return 実行結果
679  /// - true 成功
680  /// - false 失敗
681  /// @attention なし
682  ///
683  virtual bool AppendShowDeleteMenu( HMENU hMenu ) noexcept;
684 
685  //=====================================================================
686  // 限定公開変数
687  protected:
688  bool m_bShow; ///< ウィンドウ表示フラグ
689 
690  //=====================================================================
691  // 静的限定公開変数
692  protected:
693  static bool s_bShowDebugInfo; ///< デバッグ情報表示フラグ
694  static bool s_bDrawDoubleBuffer; ///< ダブルバッファリング描画フラグ
695  static bool s_bResizePartitionRealTime; ///< リアルタイムパーティションサイズ変更フラグ
696  static HMENU s_hContextMenu; ///< コンテキストメニューハンドル
697  static HWND s_hFocus; ///< フォーカスウィンドウ保存ハンドル
698 
699  //=====================================================================
700  // 静的限定公開定数
701  protected:
702  static int const MIN_WIDTH = 24; ///< 最小水平サイズ
703  static int const MIN_HEIGHT = 24; ///< 最小垂直サイズ
704 
705  //=====================================================================
706  // 静的限定公開文字列定数
707  protected:
708  static wchar_t const* const KEY_WINDOW_TITLE; ///< ウィンドウタイトルキー文字列
709  static wchar_t const* const KEY_SHOW; ///< ウィンドウ表示フラグキー文字列
710  static wchar_t const* const KEY_FOCUS_ORDER; ///< フォーカスウィンドウオーダー番号キー文字列
711 
712  //=====================================================================
713  // 削除関数
714  private:
715  CWndPane( CWndPane const& ) = delete;
716  CWndPane& operator=( CWndPane const& ) = delete;
717  };
718 }
719 
720 #pragma managed( pop )
virtual HWND GetSizeBar() const noexcept
サイズバーコントロール取得関数
Definition: CWndPane.h:215
virtual bool ShowChildAll(bool bShow) noexcept
全子ウィンドウ表示関数
Definition: CWndPane.h:543
基本ウィンドウクラスヘッダファイル
virtual bool IsShow() noexcept
表示フラグ取得関数
Definition: CWndPane.h:191
virtual wchar_t const * GetSectionName() const noexcept
セクション名取得関数
Definition: CWndPane.h:123
virtual COLORREF GetFocusTextColor() const noexcept
フォーカス所有文字色取得関数
Definition: CWndPane.h:156
static wchar_t const *const KEY_SHOW
ウィンドウ表示フラグキー文字列
Definition: CWndPane.h:709
virtual int GetMinHeight() noexcept
最小垂直サイズ取得関数
Definition: CWndPane.h:631
virtual ~CWndPane() noexcept
デストラクタ
Definition: CWndPane.h:109
virtual LRESULT WmNotifyChildLButtonUp() noexcept
Definition: CWndPane.h:322
virtual DWORD GetCreateStyle() noexcept override
ウィンドウ作成スタイル取得関数
Definition: CWndPane.h:291
virtual bool SetPartitionSize(int nSize) noexcept
パーティションサイズ設定関数
Definition: CWndPane.h:263
virtual COLORREF GetBackColor() const noexcept
クライアント描画領域背景色取得関数
Definition: CWndPane.h:134
JSON構成情報クラスヘッダファイル
static HMENU s_hContextMenu
コンテキストメニューハンドル
Definition: CWndPane.h:696
#define LIB_WINDOW_API
ダイナミックライブラリインポート宣言
Definition: LibWindowDef.h:30
virtual bool DeleteChildAll() noexcept
全子ウィンドウ削除関数
Definition: CWndPane.h:556
JSON構成情報クラス
Definition: CJsonConfig.h:31
virtual int GetMinWidth() noexcept
最小水平サイズ取得関数
Definition: CWndPane.h:620
static bool s_bShowDebugInfo
デバッグ情報表示フラグ
Definition: CWndPane.h:693
constexpr UINT const WM_NOTIFY_CHILD_LBUTTONDOWN
子ウィンドウ左ボタンダウン通知
Definition: CWndPane.h:30
static HWND s_hFocus
フォーカスウィンドウ保存ハンドル
Definition: CWndPane.h:697
ウィンドウライブラリ名前空間
Definition: CommandIdDef.h:22
static bool s_bResizePartitionRealTime
リアルタイムパーティションサイズ変更フラグ
Definition: CWndPane.h:695
EPartitionPos
パーティション配置位置種別列挙体
Definition: CWndPane.h:58
int m_nCount
子ウィンドウ数
Definition: CWndPane.h:44
constexpr UINT const WM_NOTIFY_CHILD_SET_FOCUS
子ウィンドウフォーカス取得通知
Definition: CWndPane.h:28
基本ウィンドウクラス
Definition: CWndBase.h:31
bool m_bShow
ウィンドウ表示フラグ
Definition: CWndPane.h:688
virtual COLORREF GetFocusWindowTextColor() const noexcept
フォーカスウィンドウ文字色取得関数
Definition: CWndPane.h:167
int m_nDeletable
削除可能子ウィンドウ数
Definition: CWndPane.h:48
virtual bool InitConfig(CJsonConfig &rcConfig) noexcept
ウィンドウ構成情報初期化関数
Definition: CWndPane.h:336
static wchar_t const *const KEY_WINDOW_TITLE
ウィンドウタイトルキー文字列
Definition: CWndPane.h:708
static wchar_t const *const KEY_FOCUS_ORDER
フォーカスウィンドウオーダー番号キー文字列
Definition: CWndPane.h:710
virtual bool IsPartition() const noexcept
パーティションウィンドウ判別関数
Definition: CWndPane.h:228
virtual int GetPartitionSize() const noexcept
パーティションサイズ取得関数
Definition: CWndPane.h:250
virtual COLORREF GetTextColor() const noexcept
クライアント描画領域文字色取得関数
Definition: CWndPane.h:145
static bool s_bDrawDoubleBuffer
ダブルバッファリング描画フラグ
Definition: CWndPane.h:694
virtual bool SetShow(bool bShow) noexcept
表示状態設定関数
Definition: CWndPane.h:204
int m_nHide
非表示状態子ウィンドウ数
Definition: CWndPane.h:46
virtual bool CanHideChildWindow(CWndPane *pcChild) noexcept
子ウィンドウ非表示可能状態取得関数
Definition: CWndPane.h:490
virtual bool CanDeleteChildWindow(CWndPane *pcChild) noexcept
子ウィンドウ削除可能状態取得関数
Definition: CWndPane.h:503
int m_nHideable
非表示可能子ウィンドウ数
Definition: CWndPane.h:47
constexpr UINT const WM_NOTIFY_CHILD_KILL_FOCUS
子ウィンドウフォーカス喪失通知
Definition: CWndPane.h:29
virtual CWndPane * GetPaneWindow(HWND hWnd) const noexcept
表示フラグ取得関数
Definition: CWndPane.h:178
constexpr UINT const WM_NOTIFY_CHILD_LBUTTONUP
子ウィンドウ左ボタンアップ通知
Definition: CWndPane.h:31
virtual LRESULT WmNotifyChildLButtonDown() noexcept
Definition: CWndPane.h:321
ペインウィンドウクラス
Definition: CWndPane.h:74
int m_nShow
表示状態子ウィンドウ数
Definition: CWndPane.h:45
子ペインウィンドウ情報構造体
Definition: CWndPane.h:43
constexpr UINT const WM_NOTIFY_CHILD_COMMAND
子ウィンドウコマンド実行通知
Definition: CWndPane.h:32
virtual bool DeleteChildWindow(CWndPane *pcChild) noexcept
子ウィンドウ削除関数
Definition: CWndPane.h:530
virtual EPartitionPos GetPartitionPos() const noexcept
パーティション配置位置取得関数
Definition: CWndPane.h:239