TNB Library
|
ウィンドウプロシージャフッククラス [詳解]
#include <TnbWindowProcedureHooker.h>
公開メンバ関数 | |
bool | Attach (HWND hWnd) |
[設定] アタッチ [詳解] | |
CWindowProcedureHooker (void) | |
コンストラクタ [詳解] | |
void | Destroy (void) |
[設定] 破棄 [詳解] | |
void | Detach (void) |
[設定] デタッチ [詳解] | |
DWORD | GetExStyle (void) const |
[取得] 拡張スタイル取得 [詳解] | |
HWND | GetSafeHwnd (void) const |
[取得] ウィンドウハンドル取得 [詳解] | |
DWORD | GetStyle (void) const |
[取得] スタイル取得 [詳解] | |
bool | IsAttached (void) const |
[確認] アタッチ中? [詳解] | |
void | ModifyStyle (DWORD dwRemove, DWORD dwAdd) |
[変更] スタイル変更 [詳解] | |
void | ModifyStyleEx (DWORD dwRemove, DWORD dwAdd) |
[変更] 拡張スタイル変更 [詳解] | |
BOOL | PostMessage (UINT message, WPARAM wParam, LPARAM lParam) |
[処理] PostMessage. [詳解] | |
LRESULT | SendMessage (UINT message, WPARAM wParam, LPARAM lParam) |
[処理] SendMessage. [詳解] | |
~CWindowProcedureHooker (void) | |
デストラクタ [詳解] | |
限定公開メンバ関数 | |
virtual void | OnAttached (void) |
[通知] アタッチ通知 [詳解] | |
virtual void | OnDetached (void) |
[通知] デタッチ通知 [詳解] | |
virtual void | PreAttach (HWND hWnd) |
[通知] アタッチ直前通知 [詳解] | |
virtual void | PreDetach (void) |
[通知] デタッチ直前通知 [詳解] | |
virtual LRESULT | WindowProc (UINT message, WPARAM wParam, LPARAM lParam) |
[通知] for processing Windows messages. [詳解] | |
限定公開変数類 | |
HWND | m_hWnd |
管理しているウィンドウ [詳解] | |
ウィンドウプロシージャフッククラス
WindowProc() を継承して、 Attach することで、ウィンドウプロシージャを処理することが可能です。
class CMyProc : public CWindowProcedureHooker { virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam) { if ( message == XXX ) { // 処理を行う。 必要によって、スーパークラスの WindowProcをコールせずに終わってもよし。 } return CWindowProcedureHooker::WindowProc(message, wParam, lParam); } }; class CFooDlg : public CDialog { ; CMyProc m_procHook; ; }; BOOL CFooDlg::OnInitDialog() { CDialog::OnInitDialog(); ; m_procHook.Attach(*this); // アタッチする。これ以降、 CMyProcの WindowProcがコールバックされる。 ; |
TnbWindowProcedureHooker.h の 73 行目に定義があります。
CWindowProcedureHooker | ( | void | ) |
コンストラクタ
TnbWindowProcedureHooker.h の 77 行目に定義があります。
~CWindowProcedureHooker | ( | void | ) |
デストラクタ
TnbWindowProcedureHooker.h の 82 行目に定義があります。
bool Attach | ( | HWND | hWnd | ) |
void Destroy | ( | void | ) |
[設定] 破棄
TnbWindowProcedureHooker.h の 156 行目に定義があります。
void Detach | ( | void | ) |
[設定] デタッチ
TnbWindowProcedureHooker.h の 135 行目に定義があります。
DWORD GetExStyle | ( | void | ) | const |
HWND GetSafeHwnd | ( | void | ) | const |
DWORD GetStyle | ( | void | ) | const |
bool IsAttached | ( | void | ) | const |
void ModifyStyle | ( | DWORD | dwRemove, |
DWORD | dwAdd | ||
) |
[変更] スタイル変更
dwRemove | 除去されるウィンドウ スタイル |
dwAdd | 追加されるウィンドウ スタイル |
TnbWindowProcedureHooker.h の 230 行目に定義があります。
void ModifyStyleEx | ( | DWORD | dwRemove, |
DWORD | dwAdd | ||
) |
[変更] 拡張スタイル変更
dwRemove | 除去されるウィンドウ 拡張スタイル |
dwAdd | 追加されるウィンドウ 拡張スタイル |
TnbWindowProcedureHooker.h の 245 行目に定義があります。
|
protectedvirtual |
|
protectedvirtual |
[通知] デタッチ通知
TnbWindowProcedureHooker.h の 276 行目に定義があります。
BOOL PostMessage | ( | UINT | message, |
WPARAM | wParam, | ||
LPARAM | lParam | ||
) |
[処理] PostMessage.
アタッチしているウィンドウにPostMessageします。
message | メッセージ。 |
wParam | WPARAM。 |
lParam | LPARAM。 |
TnbWindowProcedureHooker.h の 202 行目に定義があります。
|
protectedvirtual |
[通知] アタッチ直前通知
hWnd | アタッチするHWND。 |
CCustomWindowFrameで再実装されています。
TnbWindowProcedureHooker.h の 261 行目に定義があります。
|
protectedvirtual |
LRESULT SendMessage | ( | UINT | message, |
WPARAM | wParam, | ||
LPARAM | lParam | ||
) |
[処理] SendMessage.
アタッチしているウィンドウにSendMessageします。
message | メッセージ。 |
wParam | WPARAM。 |
lParam | LPARAM。 |
TnbWindowProcedureHooker.h の 189 行目に定義があります。
|
protectedvirtual |
[通知] for processing Windows messages.
メッセージ受信したらコールされます。これをオーバーライドして処理を追加します。
message | メッセージ |
wParam | WPARAM |
lParam | LPARAM |
COwnerdrawMenuSupportProcedureHookerで再実装されています。
TnbWindowProcedureHooker.h の 286 行目に定義があります。
|
protected |
管理しているウィンドウ
TnbWindowProcedureHooker.h の 296 行目に定義があります。