いつもお世話になっています。
C言語でWinアプリを作っているのですが、タイトルバーやフォームのデザインを自作する方法が分かりません。
極端に言いますと、
http://soft.livedoor.com/mediamanager/img/ss/top …
このようにタイトルバーやボタンを自作のものにしたいのですが、なんという単語でWeb検索すれば良いのかも分かりません。
大まかにでもご教授していただきましたら幸いです。
なにとぞ宜しくお願い致します。
No.3ベストアンサー
- 回答日時:
タイトルバーのような
非クライアント領域の描画は
WM_NCPAINTとかそんな感じのメッセージを捕捉して
自分でガリガリ描画します。
ボタンについてはたとえば
オーナードローといって
描画そのものを自分でやることができます。
形が矩形でないものについても
リージョンを使って変形させたり
Win2000以降であればレイヤードウィンドウが使えます。
他、例えばMSNメッセンジャーなどは
ウィンドウの外枠は既存のウィンドウデザインで
クライアント領域でがんばってますね。
んー、あとは
XPスタイルにするだけで
結構お手軽に見栄えが変化しますよ。
参考URLをみてください。
参考URL:http://www.atmarkit.co.jp/fdotnet/dotnettips/234 …
お返事くださいました皆様貴重なこと教えていただき有難うございます。XPスタイル非常にいいですね。早速行いたいと思います。有難うございました。
No.2
- 回答日時:
全くの素人ですので聞き流して下さい。
もう、12、3年前になりますか。
Cで、ボックス等の生成関数を作成しました。
ど素人ですので、かかるグラデーションは全て線の色を少しづつ変化させる力技を駆使しました。
※失礼しました。
No.1
- 回答日時:
コモンコントロールをいっさいに使わず、自前でAPIを呼び出して描画すればできます。
マウスからの入力なども自分で処理しなければならないし、けっこう大変ですけど、ゲームではこういう手法はよくつかいます。また、ウィンドーの周囲が丸みを帯びていますが、これはリージョンを使います。リージョンで検索してみてください。お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~1/20】 追い込まれた犯人が咄嗟に言った一言とは?
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・【選手権お題その3】この画像で一言【大喜利】
- ・【お題】逆襲の桃太郎
- ・自分独自の健康法はある?
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・ちょっと先の未来クイズ第6問
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
word
-
Minecraft 統合版(PC)の描画距...
-
絵を描くにはMac?Windows
-
[VB.net] DataGridViewの列ヘッ...
-
MFCのタイマーのつかい方を教え...
-
VB6,リストボックスの特定行の...
-
TextBoxに文字を書いても表示さ...
-
VB.netでのライン描画方法がわ...
-
NVIDIAのシェーダーキャッシュ
-
panelのスクロール表示について
-
CDCオブジェクトの作成について
-
VC++プログラムをつかったBMP画...
-
ビットマップを表示させる(MFC)
-
MFCでOnPaintのタイミング
-
エクセルでガンチャートを作成...
-
テクスチャに半透明ポリゴンを...
-
DirectXでの変数の表示について
-
C言語(dxlib)のDrawboxについ...
-
多角形の描画。(VC++)
-
VBAにGDI+を参照させる方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Minecraft 統合版(PC)の描画距...
-
word
-
NVIDIAのシェーダーキャッシュ
-
[VB.net] DataGridViewの列ヘッ...
-
TextBoxに文字を書いても表示さ...
-
VB6,リストボックスの特定行の...
-
google Colabでmatplotlibの描...
-
MFCでOnPaintのタイミング
-
C++にて、塗りつぶされた円を描...
-
CStaticコントロールの静的イメ...
-
UpdateData( FALSE); による文...
-
FlexGridの一部のみ表示を更新...
-
panelのスクロール表示について
-
VB.netでのライン描画方法がわ...
-
OneNote 2010 文字と描画がずれる
-
VBAにGDI+を参照させる方法
-
WM_SIZEとWM_SIZINGの違い (Win...
-
VC++プログラムをつかったBMP画...
-
InvalidateRectの使い方について
-
Form1 Load で実行されない。
おすすめ情報