CFrameWindowImpl

http://toshi.my.land.to/wtl/reference/?CFrameWindowImpl
* トップ ページ - WTL - リファレンス - CFrameWindowImpl :: 説明 / 解説 / 参照 / 情報 / メソッド / イベント ハンドラ

説明

SDI ウィンドウの振る舞いを実装しているクラスです。

解説

通常、このクラスを継承して、独自のウィンドウの振る舞いを実装するクラスを作成します。
その際、テンプレート引数 T にはそのクラス自身を渡します。
このように、基本クラスのテンプレート引数に派生クラス自身を渡して継承することは、CRTP (Curiously Recurring Template Pattern : 奇妙に再帰したテンプレート パターン) と呼ばれます。

テンプレート引数 TBase は、既定では ATL::CWindow です。TWinTraits は、ATL::CFrameWinTraits です。
これらは、ウィンドウの基本的な振る舞い、およびウィンドウの特徴(スタイル)を定義するものです。
通常これらを変更する必要はありません。
つまり、特別な場合でない限り、テンプレート引数には T を指定するのみです。

参照

CFrameWindowImplBase
CMDIFrameWindowImpl
CMDIChildWindowImpl

情報

タイプ : テンプレート
継承クラス : CFrameWindowImplBase< TBase, TWinTraits >
ヘッダ : atlframe.h

メソッド

Create
ウィンドウを作成します。
CreateEx
共通リソース ID によって、ウィンドウを作成します。
CreateSimpleToolBar
ウィンドウ上にツール バーを作成します。

イベント ハンドラ

OnChevronPushed
RBN_CHEVRONPUSHED 通知のハンドラです。
OnReBarAutoSize
RBN_AUTOSIZE 通知のハンドラです。
OnSize
WM_SIZE メッセージのハンドラです。


Create

ウィンドウを作成します。

HWND Create(HWND hWndParent = NULL, ATL::_U_RECT rect = NULL, LPCTSTR szWindowName = NULL, DWORD dwStyle = 0, DWORD dwExStyle = 0, HMENU hMenu = NULL, LPVOID lpCreateParam = NULL);

引数

HWND hWndParent = NULL
親ウィンドウを指定します。既定では NULL で、トップレベル ウィンドウになります。

ATL::_U_RECT rect = NULL
ウィンドウの位置情報を示す RECT 構造体を指定します。既定では NULL で、TBase::rcDefault になります。

LPCTSTR szWindowName = NULL
ウィンドウの名前を指定します。既定では NULL です。

DWORD dwStyle = 0
ウィンドウ スタイルを指定します。既定では 0 で、TWinTraits の持つスタイルになります。

DWORD dwExStyle = 0
拡張ウィンドウ スタイルを指定します。既定では 0 で、TWinTraits の持つスタイルになります。

HMENU hMenu = NULL
オーバーラップ ウィンドウまたはポップアップ ウィンドウの場合はメニュー ハンドルを指定します。子ウィンドウの場合は ID を指定します。既定では NULL です。

LPVOID lpCreateParam = NULL
ユーザー定義のパラメータを指定します。既定では NULL です。

戻り値

作成に成功した場合、ウィンドウ ハンドルを返します。


CreateEx

共通リソース ID によって、ウィンドウを作成します。

HWND CreateEx(HWND hWndParent = NULL, ATL::_U_RECT rect = NULL, DWORD dwStyle = 0, DWORD dwExStyle = 0, LPVOID lpCreateParam = NULL);

引数

HWND hWndParent = NULL
親ウィンドウを指定します。既定では NULL で、トップレベル ウィンドウになります。

ATL::_U_RECT rect = NULL
ウィンドウの位置情報を示す RECT 構造体を指定します。既定では NULL で、TBase::rcDefault になります。

DWORD dwStyle = 0
ウィンドウ スタイルを指定します。既定では 0 で、TWinTraits の持つスタイルになります。

DWORD dwExStyle = 0
拡張ウィンドウ スタイルを指定します。既定では 0 で、TWinTraits の持つスタイルになります。

LPVOID lpCreateParam = NULL
ユーザー定義のパラメータを指定します。既定では NULL です。

戻り値

作成に成功した場合、ウィンドウ ハンドルを返します。

解説

共通リソース ID は、DECLARE_FRAME_WND_CLASS マクロ、または DECLARE_FRAME_WND_CLASS_EX マクロで定義します。
これによって、ウィンドウの名前、メニュー、アクセラレータ キーがこのメソッドで自動的に設定されます。


CreateSimpleToolBar

ウィンドウ上にツール バーを作成します。

BOOL CreateSimpleToolBar(UINT nResourceID = 0, DWORD dwStyle = ATL_SIMPLE_TOOLBAR_STYLE, UINT nID = ATL_IDW_TOOLBAR);

引数

UINT nResourceID = 0
リソース ID を指定します。既定では 0 で、共通リソース ID になります。

DWORD dwStyle = ATL_SIMPLE_TOOLBAR_STYLE
ウィンドウ スタイルを指定します。既定では ATL_SIMPLE_TOOLBAR_STYLE です。

UINT nID = ATL_IDW_TOOLBAR
ID を指定します。既定では ATL_IDW_TOOLBAR です。

戻り値

作成に成功したかどうかを返します。

解説

作成に成功した場合、m_hWndToolBar にウィンドウ ハンドルが格納されます。


OnChevronPushed

RBN_CHEVRONPUSHED 通知のハンドラです。

LRESULT OnChevronPushed(int /*idCtrl*/, LPNMHDR pnmh, BOOL& bHandled);

引数

int /*idCtrl*/
コントロールの ID です。このハンドラでは使用されません。

LPNMHDR pnmh
NMHDR 構造体へのポインタです。

BOOL& bHandled
メッセージを処理したかどうかを示します。

戻り値

メニューを表示した場合、0 を返します。表示の準備に失敗した場合、1 を返します。


OnReBarAutoSize

RBN_AUTOSIZE 通知のハンドラです。

LRESULT OnReBarAutoSize(int /*idCtrl*/, LPNMHDR /*pnmh*/, BOOL& /*bHandled*/);

引数

int /*idCtrl*/
コントロールの ID です。このハンドラでは使用されません。

LPNMHDR /*pnmh*/
NMHDR 構造体へのポインタです。このハンドラでは使用されません。

BOOL& /*bHandled*/
メッセージを処理したかどうかを示します。このハンドラでは使用されません。

戻り値

常に 0 を返します。

解説

このハンドラは、派生クラスがオーバーライドしていない限り、CFrameWindowImplBase クラスの UpdateLayout メソッドを呼び出します。


OnSize

WM_SIZE メッセージのハンドラです。

LRESULT OnSize(UINT /*uMsg*/, WPARAM wParam, LPARAM /*lParam*/, BOOL& bHandled);

引数

UINT /*uMsg*/
WM_SIZE メッセージです。

WPARAM wParam
メッセージに付加されたパラメータです。

LPARAM /*lParam*/
メッセージに付加されたパラメータです。このハンドラでは使用されません。

BOOL& bHandled
メッセージを処理したかどうかを示します。

戻り値

常に 1 を返します。

解説

このハンドラは、ウィンドウが最小化されていない場合において、派生クラスがオーバーライドしていない限り、CFrameWindowImplBase クラスの UpdateLayout メソッドを呼び出します。


Last Modified : 2010/05/19 (Wed.) 20:11:25

Librarian Version 0.3.1.5
By Toshi

ページの先頭へ戻る
リファレンスへ戻る
WTL へ戻る
トップ ページへ戻る

* トップ ページ - WTL - リファレンス - CFrameWindowImpl :: 説明 / 解説 / 参照 / 情報 / メソッド / イベント ハンドラ
http://toshi.my.land.to/wtl/reference/?CFrameWindowImpl
(C) 2005 - 2010 Toshi, All Rights Reserved.