• ベストアンサー

アプリケーションのデザイン

いつもお世話になっています。 C言語でWinアプリを作っているのですが、タイトルバーやフォームのデザインを自作する方法が分かりません。 極端に言いますと、 http://soft.livedoor.com/mediamanager/img/ss/top_ss_b.gif このようにタイトルバーやボタンを自作のものにしたいのですが、なんという単語でWeb検索すれば良いのかも分かりません。 大まかにでもご教授していただきましたら幸いです。 なにとぞ宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

タイトルバーのような 非クライアント領域の描画は WM_NCPAINTとかそんな感じのメッセージを捕捉して 自分でガリガリ描画します。 ボタンについてはたとえば オーナードローといって 描画そのものを自分でやることができます。 形が矩形でないものについても リージョンを使って変形させたり Win2000以降であればレイヤードウィンドウが使えます。 他、例えばMSNメッセンジャーなどは ウィンドウの外枠は既存のウィンドウデザインで クライアント領域でがんばってますね。 んー、あとは XPスタイルにするだけで 結構お手軽に見栄えが変化しますよ。 参考URLをみてください。

参考URL:
http://www.atmarkit.co.jp/fdotnet/dotnettips/234winxpstyle/winxpstyle.html
mirror-name
質問者

お礼

お返事くださいました皆様貴重なこと教えていただき有難うございます。XPスタイル非常にいいですね。早速行いたいと思います。有難うございました。

その他の回答 (2)

noname#22222
noname#22222
回答No.2

全くの素人ですので聞き流して下さい。 もう、12、3年前になりますか。 Cで、ボックス等の生成関数を作成しました。 ど素人ですので、かかるグラデーションは全て線の色を少しづつ変化させる力技を駆使しました。 ※失礼しました。

  • moritan2
  • ベストアンサー率25% (168/670)
回答No.1

コモンコントロールをいっさいに使わず、自前でAPIを呼び出して描画すればできます。マウスからの入力なども自分で処理しなければならないし、けっこう大変ですけど、ゲームではこういう手法はよくつかいます。また、ウィンドーの周囲が丸みを帯びていますが、これはリージョンを使います。リージョンで検索してみてください。

関連するQ&A