- PR -

VC++ Window枠のカスタマイズ

1
投稿者投稿内容
まなみ
会議室デビュー日: 2008/01/08
投稿数: 2
投稿日時: 2008-01-08 15:51
WindowsXP
Microsoft Visual Studio 2005
VisualC++

ダイアログベースのアプリを作成しています。
ダイアログの「枠」や「タイトルバー」、右上に表示されている最小化/最大化/閉じるボタンについて、任意の画像リソースを適用したいと考えています。

通常のボタンの場合CBitmapButtonがありますが、ウィンドウの場合どのように実装すればよいのでしょうか。
OnPaintをオーバーライドし、自分自身で描画しなければいけないのでしょうか。

以上、よろしくお願いします。
甕星
ぬし
会議室デビュー日: 2003/03/07
投稿数: 1185
お住まい・勤務地: 湖の見える丘の上
投稿日時: 2008-01-08 17:25
引用:

まなみさんの書き込み (2008-01-08 15:51) より:
OnPaintをオーバーライドし、自分自身で描画しなければいけないのでしょうか。


そのとおりです。他にWM_NCPAINTやWM_NCHITTESTなどもかかわってきます。
まなみ
会議室デビュー日: 2008/01/08
投稿数: 2
投稿日時: 2008-01-08 18:34
回答ありがとうございます。

例えば、標準のWindowの「枠」より太い画像でWindowを囲いたい場合は
WM_NCCALCSIZEで非クライアント領域を広げ、WM_NCPAINTで描画すると
いう感じになりそうですね。
結構大変そうです。。。

ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)