Solution46
CWndTitleBar.h
[詳解]
1 //=============================================================================
2 /// @file
3 /// タイトルバークラスヘッダファイル
4 ///
5 /// タイトルバークラスヘッダファイルです。
6 ///
7 /// $Id: CWndTitleBar.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 <commctrl.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 CWndTitleBar() noexcept;
45 
46  //---------------------------------------------------------------------
47  /// デストラクタ
48  ///
49  /// デストラクタです。
50  ///
51  /// @param なし
52  /// @return なし
53  /// @attention なし
54  ///
55  virtual ~CWndTitleBar() noexcept {}
56 
57  //=====================================================================
58  // 公開関数
59  public:
60  //---------------------------------------------------------------------
61  /// ウィンドウ作成関数
62  ///
63  /// ウィンドウ作成関数です。
64  ///
65  /// @param[in] hParent 親ウィンドウハンドル
66  /// @param[in] hMenu メニューハンドル
67  /// @return 実行結果
68  /// - true 成功
69  /// - false 失敗
70  /// @attention オーバライド関数です。
71  ///
72  virtual bool Create( HWND hParent, HMENU hMenu = nullptr ) noexcept override;
73 
74  //---------------------------------------------------------------------
75  /// ウィンドウクラス登録基底ウィンドウクラス名取得関数
76  ///
77  /// ウィンドウクラス登録基底ウィンドウクラス名取得関数です。
78  ///
79  /// @param なし
80  /// @return 文字列ポインタ
81  /// @attention オーバライド関数です。
82  ///
83  virtual LPCWSTR GetRegistBaseClassName() noexcept override { return WC_STATICW; }
84 
85  //---------------------------------------------------------------------
86  /// ウィンドウ作成スタイル取得関数
87  ///
88  /// ウィンドウ作成スタイル取得関数です。
89  ///
90  /// @param なし
91  /// @return ウィンドウスタイル
92  /// @attention オーバライド関数です。
93  ///
94  virtual DWORD GetCreateStyle() noexcept override { return ( WS_CHILD | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | SS_NOTIFY | SS_OWNERDRAW ); }
95 
96  //---------------------------------------------------------------------
97  /// 各種メッセージ処理関数
98  ///
99  /// 各種メッセージ処理関数です。
100  ///
101  /// @param なし
102  /// @return メッセージ終了コード
103  /// @attention オーバライド関数です。
104  ///
105  virtual LRESULT WmNcHitTest() noexcept override;
106 
107  //=====================================================================
108  // 削除関数
109  private:
110  CWndTitleBar( CWndTitleBar const& ) = delete;
111  CWndTitleBar& operator=( CWndTitleBar const& ) = delete;
112  };
113 }
114 
115 #pragma managed( pop )
タイトルバークラス
Definition: CWndTitleBar.h:31
基本ウィンドウクラスヘッダファイル
virtual DWORD GetCreateStyle() noexcept override
ウィンドウ作成スタイル取得関数
Definition: CWndTitleBar.h:94
#define LIB_WINDOW_API
ダイナミックライブラリインポート宣言
Definition: LibWindowDef.h:30
virtual ~CWndTitleBar() noexcept
デストラクタ
Definition: CWndTitleBar.h:55
ウィンドウライブラリ名前空間
Definition: CommandIdDef.h:22
基本ウィンドウクラス
Definition: CWndBase.h:31
virtual LPCWSTR GetRegistBaseClassName() noexcept override
ウィンドウクラス登録基底ウィンドウクラス名取得関数
Definition: CWndTitleBar.h:83