MFCでタイトルバーの幅を変更することは可能でしょうか? – プログラミング – Home

MFCでタイトルバーの幅を変更すること...
 
通知
すべてクリア

MFCでタイトルバーの幅を変更することは可能でしょうか?


イトウ
 イトウ
(@イトウ)
ゲスト
結合: 21年前
投稿: 5
Topic starter  

MFCでダイアログベースのアプリを作成しています。
少し変な質問かも知れませんが、ウィンド上部のタイトルバー(青い箇所)の幅を変更し
たいのですが、可能でしょうか?
タイトルバーをデフォルトよりも少し太い状態にしたいと思っています。


引用解決済
トピックタグ
仲澤@失業者
(@uncle_kei)
Prominent Member
結合: 5年前
投稿: 828
 

ほぼ、不可能と言って良いほど困難です。
どうしてもやりたい場合は、
1.ボーダーの無いクライアント領域のみのウインドウで作成し、
  WM_NCHITTESTに適切に応答する。
2.タイトルとボーダーはWM_NCPAINTなどで自前で描画する。

のようにするのが、もっとも簡単な方法と考えられます。

VS2008などを使用できる場合はリボンコントロールを使用する
方法も考えられます。ただし、DLGでなく通常のウインドウに
なるので、現在のDLGはクライアントに子として貼り付けることに
なると思います。

「太くしたい理由」を提示すれば、もっと優れた回答がもらえるかもしれません。


返信引用
イトウ
 イトウ
(@イトウ)
ゲスト
結合: 21年前
投稿: 5
Topic starter  

返信ありがとうございます。

理由は単純で、タイトルバーをドラッグ時のウィンド移動や、ダブルクリック時の最大
化の範囲を増やしたかっただけです。
ダイアログの上にイメージを貼り付けて、スキンぽくしています。
それに伴い、上記の範囲を増やしたかっただけです。

ご指摘の通り難しそうなので、左クイック時のイベントを拾ってきて、座標判定後に上
記の処理を行うように作りました。


返信引用
仲澤@失業者
(@uncle_kei)
Prominent Member
結合: 5年前
投稿: 828
 

であれば、先の発言通り、タイトルバーとして振舞わせたい
クライアント領域内にマウスカーソルがあるとき、
WM_NCHITTESTに応答して、HTCAPTION(=タイトル バー領域内にあります)
を戻すだけで、できそうなんですけど(vv;)。
だめでしょうか。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました