MFCでダイアログベースのアプリを作成しています。
少し変な質問かも知れませんが、ウィンド上部のタイトルバー(青い箇所)の幅を変更し
たいのですが、可能でしょうか?
タイトルバーをデフォルトよりも少し太い状態にしたいと思っています。
ほぼ、不可能と言って良いほど困難です。
どうしてもやりたい場合は、
1.ボーダーの無いクライアント領域のみのウインドウで作成し、
WM_NCHITTESTに適切に応答する。
2.タイトルとボーダーはWM_NCPAINTなどで自前で描画する。
のようにするのが、もっとも簡単な方法と考えられます。
VS2008などを使用できる場合はリボンコントロールを使用する
方法も考えられます。ただし、DLGでなく通常のウインドウに
なるので、現在のDLGはクライアントに子として貼り付けることに
なると思います。
「太くしたい理由」を提示すれば、もっと優れた回答がもらえるかもしれません。
返信ありがとうございます。
理由は単純で、タイトルバーをドラッグ時のウィンド移動や、ダブルクリック時の最大
化の範囲を増やしたかっただけです。
ダイアログの上にイメージを貼り付けて、スキンぽくしています。
それに伴い、上記の範囲を増やしたかっただけです。
ご指摘の通り難しそうなので、左クイック時のイベントを拾ってきて、座標判定後に上
記の処理を行うように作りました。
であれば、先の発言通り、タイトルバーとして振舞わせたい
クライアント領域内にマウスカーソルがあるとき、
WM_NCHITTESTに応答して、HTCAPTION(=タイトル バー領域内にあります)
を戻すだけで、できそうなんですけど(vv;)。
だめでしょうか。