• 締切済み

ダイアログタイトルバーをダイアログ左側に移動する

VC++ 2008でダイアログを作成していますが,タイトルバーは通常ダイアログの上部に表示されます,それをダイアログ左サイドに配置したいのですが、できません。いろいろサンプルを調べたのですが、それらしいものは、みつけられませんでした。タイトルバーを別途独自に作成するサンプルは、あったのですが記述が少し複雑。やはり、純然たるタイトルバーを変更したいので、どなたかご存知ならご指導をお願いいたします。Win32APIも調べたのですが、タイトルバーのRectがとれません。  よろしくお願いいたします。

みんなの回答

回答No.1

 こんにちは。  タイトルバーはボタンやテキストボックスの様なコントロールでは無いので、MoveWindow()で移動したりShowWindow()で非表示にしたりと言った芸当は不可能です。  例えば、縦に出す場合はWM_NCHITTESTを処理して、WM_NCPAINTで縦に描写する事で実現します。  参考にして来たサンプルコードの数々は、律儀にタイトルバーを着色したり、タイトル名を書いたり、ドラッグ判定したり、と言った事が成されていると思いますが、其れこそが「通常のタイトルバーでは満足出来ない場合、最低限必要な処理」と言う事になります。

関連するQ&A