|
TNB Library
|
ウィンドウプロシージャフッククラス [詳解]
#include <TnbWindowProcedureHooker.h>
CWindowProcedureHooker の継承関係図公開メンバ関数 | |
| 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 行目に定義があります。