カスタムウィンドウフレームマスタークラス.
[詳解]
#include <TnbMfcCustomWindowFrameMaster.h>
|
bool | Attach (HWND hWnd) |
| [設定] アタッチ [詳解]
|
|
| CCustomWindowFrameMaster (void) |
| コンストラクタ [詳解]
|
|
void | CopyParameter (const CCustomWindowFrame &o) |
| [設定] 設定の複製. [詳解]
|
|
void | Destroy (void) |
| [設定] 破棄 [詳解]
|
|
void | Detach (void) |
| [設定] デタッチ [詳解]
|
|
HBRUSH | GetBackground (bool isActive) |
| [取得] 背景ブラシ取得 [詳解]
|
|
DWORD | GetExStyle (void) const |
| [取得] 拡張スタイル取得 [詳解]
|
|
HWND | GetSafeHwnd (void) const |
| [取得] ウィンドウハンドル取得 [詳解]
|
|
DWORD | GetStyle (void) const |
| [取得] スタイル取得 [詳解]
|
|
void | Hook (bool isDisableVista=false) |
| [設定] フック. [詳解]
|
|
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. [詳解]
|
|
CDrawingMenuBar & | ReferMenuBar (void) |
| [参照] メニューバー参照. [詳解]
|
|
CDrawingMenu & | ReferPopupMenu (void) |
| [参照] メニューバー参照. [詳解]
|
|
DWORD | RegisterMenu (CMenu *pMenu) |
| [登録] メニュー登録. [詳解]
|
|
LRESULT | SendMessage (UINT message, WPARAM wParam, LPARAM lParam) |
| [処理] SendMessage. [詳解]
|
|
void | SetCloseButtonBitmap (const POINT &pos, CBitmapHandle bmp, int num=4, COLORREF color=CLR_INVALID) |
| [設定] Closeボタン設定 [詳解]
|
|
void | SetFrameBitmap (CBitmapHandle bmp) |
| [設定] フレームビットマップ設定 [詳解]
|
|
void | SetFrameBitmap (CBitmapHandle bmp1, CBitmapHandle bmp2) |
| [設定] フレームビットマップ設定 [詳解]
|
|
void | SetFrameBitmap (const IDrawable &draw, CBitmapHandle bmp) |
| [設定] フレームビットマップ設定 [詳解]
|
|
void | SetFrameTransColor (COLORREF color=CLR_AUTOSELECT) |
| [設定] 透過色指定 [詳解]
|
|
void | SetFrameWidths (const RECT &frameWidths, int titleHeight=-1) |
| [設定] 大きさ設定. [詳解]
|
|
void | SetFrameWidths (int frameWidth=-1, int titleHeight=-1) |
| [設定] 大きさ設定. [詳解]
|
|
void | SetHelpButtonBitmap (const POINT &pos, CBitmapHandle bmp, int num=4, COLORREF color=CLR_INVALID) |
| [設定] Helpボタン設定 [詳解]
|
|
void | SetMaximumButtonBitmap (const POINT &pos, CBitmapHandle bmp, int num=4, COLORREF color=CLR_INVALID) |
| [設定] Maximumボタン設定 [詳解]
|
|
void | SetMinimumButtonBitmap (const POINT &pos, CBitmapHandle bmp, int num=4, COLORREF color=CLR_INVALID) |
| [設定] Minimumボタン設定 [詳解]
|
|
void | SetRestoreButtonBitmap (const POINT &pos, CBitmapHandle bmp, int num=4, COLORREF color=CLR_INVALID) |
| [設定] Restoreボタン設定 [詳解]
|
|
void | SetTextColor (COLORREF color) |
| [設定] テキスト色. [詳解]
|
|
void | SetTitleBitmap (const IDrawable &draw) |
| [設定] タイトルバー描画情報指定. [詳解]
|
|
| ~CCustomWindowFrameMaster (void) |
| デストラクタ [詳解]
|
|
カスタムウィンドウフレームマスタークラス.
ダイアログの NonClient 部分を変更できます。また、透過色を指定し、矩形以外のフレームにも対応します。
- 覚え書き
- プロセスをローカルフックしているので、プロセスで表示される全ウィンドウの NonClient 部分を変更できます。
- 使用例
BOOL CFooApp::InitInstance()
{
;
CWindowCaptionDrawer ttd(NULL);
ttd.SetBarColor(RGB(255, 0, 0), RGB(0, 0, 0));
frame.SetTitleBitmap(ttd);
frame.SetFrameBitmap(IDB_FRAME);
frame.SetCloseButtonBitmap(CPoint(-6, 5), IDB_CLOSE, 4);
;
frame.Hook();
;
CCustomWindowFrameMaster(void)
コンストラクタ
- 必要ファイル
- TnbMfcCustomWindowFrameMaster.h
- 日付
- 08/10/06 新規作成
-
09/04/22 マップを CSimpleMap に変更
-
09/05/12 VISTA の場合、Hookしないように変更。
-
10/04/26 Hook のためのインスタンスは保持しておく必要をなくした。
TnbMfcCustomWindowFrameMaster.h の 64 行目に定義があります。
◆ CCustomWindowFrameMaster()
◆ ~CCustomWindowFrameMaster()
◆ Attach()
◆ CopyParameter()
◆ Destroy()
◆ Detach()
◆ GetBackground()
HBRUSH GetBackground |
( |
bool |
isActive | ) |
|
|
inherited |
◆ GetExStyle()
DWORD GetExStyle |
( |
void |
| ) |
const |
|
inherited |
◆ GetSafeHwnd()
HWND GetSafeHwnd |
( |
void |
| ) |
const |
|
inherited |
◆ GetStyle()
DWORD GetStyle |
( |
void |
| ) |
const |
|
inherited |
◆ Hook()
void Hook |
( |
bool |
isDisableVista = false | ) |
|
[設定] フック.
プロセスで一つ、フック出来ます。本インスタンス破棄後も、フックは有効です。
- 引数
-
isDisableVista | true を指定すると、 VISTA以降の場合、フックしません。 false を指定すると、 VISTA以降でも、フックします。 |
TnbMfcCustomWindowFrameMaster.h の 94 行目に定義があります。
◆ IsAttached()
bool IsAttached |
( |
void |
| ) |
const |
|
inherited |
◆ ModifyStyle()
void ModifyStyle |
( |
DWORD |
dwRemove, |
|
|
DWORD |
dwAdd |
|
) |
| |
|
inherited |
◆ ModifyStyleEx()
void ModifyStyleEx |
( |
DWORD |
dwRemove, |
|
|
DWORD |
dwAdd |
|
) |
| |
|
inherited |
◆ OnAttached()
virtual void OnAttached |
( |
void |
| ) |
|
|
protectedvirtualinherited |
◆ OnDetached()
virtual void OnDetached |
( |
void |
| ) |
|
|
protectedvirtualinherited |
◆ OnDetacted()
virtual void OnDetacted |
( |
void |
| ) |
|
|
protectedvirtualinherited |
◆ PostMessage()
BOOL PostMessage |
( |
UINT |
message, |
|
|
WPARAM |
wParam, |
|
|
LPARAM |
lParam |
|
) |
| |
|
inherited |
◆ PreAttach()
virtual void PreAttach |
( |
HWND |
hWnd | ) |
|
|
protectedvirtualinherited |
◆ PreDetach()
virtual void PreDetach |
( |
void |
| ) |
|
|
protectedvirtualinherited |
◆ ReferMenuBar()
◆ ReferPopupMenu()
◆ RegisterMenu()
DWORD RegisterMenu |
( |
CMenu * |
pMenu | ) |
|
|
inherited |
◆ SendMessage()
LRESULT SendMessage |
( |
UINT |
message, |
|
|
WPARAM |
wParam, |
|
|
LPARAM |
lParam |
|
) |
| |
|
inherited |
◆ SetCloseButtonBitmap()
void SetCloseButtonBitmap |
( |
const POINT & |
pos, |
|
|
CBitmapHandle |
bmp, |
|
|
int |
num = 4 , |
|
|
COLORREF |
color = CLR_INVALID |
|
) |
| |
|
inherited |
[設定] Closeボタン設定
- 引数
-
pos | ボタン位置。座標がマイナスの場合、右端(下端)からのオフセットになります。 |
bmp | ボタン画像。同じ大きさの画像を、Normal,Press,Hover,Disable の順に横に並べた画像を指定します。 |
num | ボタン画像の数。通常省略します(4になります)。 |
color | 透過する色。 CLR_INVALID を指定すると、透過色はなし。 |
TnbMfcCustomWindowFrame.h の 374 行目に定義があります。
◆ SetFrameBitmap() [1/3]
◆ SetFrameBitmap() [2/3]
[設定] フレームビットマップ設定
- 引数
-
bmp1 | アクティブ時の画像。この画像は 9分割され、それぞれの隅、枠、中央に使われます。 |
bmp2 | 非アクティブ時の画像。この画像は 9分割され、それぞれの隅、枠、中央に使われます。 |
TnbMfcCustomWindowFrame.h の 281 行目に定義があります。
◆ SetFrameBitmap() [3/3]
◆ SetFrameTransColor()
void SetFrameTransColor |
( |
COLORREF |
color = CLR_AUTOSELECT | ) |
|
|
inherited |
[設定] 透過色指定
- 覚え書き
- フレームビットマップの透過色を指定できます。これにより任意の形のウィンドウが作成できます。 本メソッドを使わない場合、デフォルトは矩形のウィンドウになります。
- 引数
-
color | 透過色。 CLR_AUTOSELECT を使うと右下の色を透過色とします。 |
TnbMfcCustomWindowFrame.h の 311 行目に定義があります。
◆ SetFrameWidths() [1/2]
void SetFrameWidths |
( |
const RECT & |
frameWidths, |
|
|
int |
titleHeight = -1 |
|
) |
| |
|
inherited |
[設定] 大きさ設定.
NonClientの上下左右の幅、および、タイトルバーの高さを指定します。
- 注意
- メニューがあるウィンドウの場合、本メソッドは正しく機能しません。メニュー無しの場合のみ使用してください。
- 引数
-
frameWidths | NoClientの上下左右の幅(RECT本来の使い方ではない) |
titleHeight | タイトルバーの高さ。省略するとシステムの高さが使われます。 |
TnbMfcCustomWindowFrame.h の 334 行目に定義があります。
◆ SetFrameWidths() [2/2]
void SetFrameWidths |
( |
int |
frameWidth = -1 , |
|
|
int |
titleHeight = -1 |
|
) |
| |
|
inherited |
[設定] 大きさ設定.
NonClientの上下左右の幅、および、タイトルバーの高さを指定します。
- 注意
- メニューがあるウィンドウの場合、本メソッドは正しく機能しません。メニュー無しの場合のみ使用してください。
- 引数
-
frameWidth | NoClientの上下左右のすべての幅。省略するとシステムの幅が使われます。 |
titleHeight | タイトルバーの高さ。省略するとシステムの高さが使われます。 |
TnbMfcCustomWindowFrame.h の 353 行目に定義があります。
◆ SetHelpButtonBitmap()
void SetHelpButtonBitmap |
( |
const POINT & |
pos, |
|
|
CBitmapHandle |
bmp, |
|
|
int |
num = 4 , |
|
|
COLORREF |
color = CLR_INVALID |
|
) |
| |
|
inherited |
[設定] Helpボタン設定
- 引数
-
pos | ボタン位置。座標がマイナスの場合、右端(下端)からのオフセットになります。 |
bmp | ボタン画像。同じ大きさの画像を、Normal,Press,Hover,Disable の順に横に並べた画像を指定します。 |
num | ボタン画像の数。通常省略します(4になります)。 |
color | 透過する色。 CLR_INVALID を指定すると、透過色はなし。 |
TnbMfcCustomWindowFrame.h の 426 行目に定義があります。
◆ SetMaximumButtonBitmap()
void SetMaximumButtonBitmap |
( |
const POINT & |
pos, |
|
|
CBitmapHandle |
bmp, |
|
|
int |
num = 4 , |
|
|
COLORREF |
color = CLR_INVALID |
|
) |
| |
|
inherited |
[設定] Maximumボタン設定
- 引数
-
pos | ボタン位置。座標がマイナスの場合、右端(下端)からのオフセットになります。 |
bmp | ボタン画像。同じ大きさの画像を、Normal,Press,Hover,Disable の順に横に並べた画像を指定します。 |
num | ボタン画像の数。通常省略します(4になります)。 |
color | 透過する色。 CLR_INVALID を指定すると、透過色はなし。 |
TnbMfcCustomWindowFrame.h の 400 行目に定義があります。
◆ SetMinimumButtonBitmap()
void SetMinimumButtonBitmap |
( |
const POINT & |
pos, |
|
|
CBitmapHandle |
bmp, |
|
|
int |
num = 4 , |
|
|
COLORREF |
color = CLR_INVALID |
|
) |
| |
|
inherited |
[設定] Minimumボタン設定
- 引数
-
pos | ボタン位置。座標がマイナスの場合、右端(下端)からのオフセットになります。 |
bmp | ボタン画像。同じ大きさの画像を、Normal,Press,Hover,Disable の順に横に並べた画像を指定します。 |
num | ボタン画像の数。通常省略します(4になります)。 |
color | 透過する色。 CLR_INVALID を指定すると、透過色はなし。 |
TnbMfcCustomWindowFrame.h の 387 行目に定義があります。
◆ SetRestoreButtonBitmap()
void SetRestoreButtonBitmap |
( |
const POINT & |
pos, |
|
|
CBitmapHandle |
bmp, |
|
|
int |
num = 4 , |
|
|
COLORREF |
color = CLR_INVALID |
|
) |
| |
|
inherited |
[設定] Restoreボタン設定
- 引数
-
pos | ボタン位置。座標がマイナスの場合、右端(下端)からのオフセットになります。通常、Maximumボタンと同じ場所を指定します。 |
bmp | ボタン画像。同じ大きさの画像を、Normal,Press,Hover,Disable の順に横に並べた画像を指定します。 |
num | ボタン画像の数。通常省略します(4になります)。 |
color | 透過する色。 CLR_INVALID を指定すると、透過色はなし。 |
TnbMfcCustomWindowFrame.h の 413 行目に定義があります。
◆ SetTextColor()
void SetTextColor |
( |
COLORREF |
color | ) |
|
|
inherited |
◆ SetTitleBitmap()
void SetTitleBitmap |
( |
const IDrawable & |
draw | ) |
|
|
inherited |
[設定] タイトルバー描画情報指定.
- 覚え書き
- フレームビットマップでタイトルを書くことも出来ますが、別途子のメソッドで指定することも出来ます。 指定しない場合、フレーム描画上に CWindowCaptionDrawer() でアイコンとウィンドウテキストが描画されます。
- 引数
-
TnbMfcCustomWindowFrame.h の 322 行目に定義があります。
◆ Unhook()
static void Unhook |
( |
void |
| ) |
|
|
static |
◆ m_hWnd