例えば、
ゲームソフトなんかの格好いいボタンを見ると、いつも感心してしまいます。
ところがVBやVCで作れるオリジナル様式のボタンのデザインは単調し過ぎます。
普通のwindow XP またはvista のアプリケーションに独自デザインのボタンを作りたい場合は
どうすればいいのでしょうか。
例えば、ボタンを押す前後のボタン外観画像をbitmapの形で提供することで、
ボタンの上に表示する文字をプログラムの中で自由に与える形実現可能でしょうか。
勿論そのボタンを押したら指定のイベントを発生する機能を持たなければなりません。
ご教授宜しくお願いします。
独自スタイルのボタンを作りたい
Re: 独自スタイルのボタンを作りたい
単純な方法としては,BS_BITMAPを付けて作ったボタンにBM_SETIMAGEを送ることで,ボタンに画像を表示できます。
もっと制御を細かくしたいならば,WPF (C# or VB) を使うか,独自に描画するかになります。
WPFはControlTemplateを使うことで描画について細かく制御できます。
エンジンが内部で描画したり,クリックの制御なども行ってくれています。
独自に描画というのはこれと同じことで,描画とイベント制御を自分で行うことになります。
市販のソフトウェアゲームのボタンは,ほぼ独自描画であると思います。
updated (2012-10-19T09:55+09:00) ソフトウェア→ゲーム
もっと制御を細かくしたいならば,WPF (C# or VB) を使うか,独自に描画するかになります。
WPFはControlTemplateを使うことで描画について細かく制御できます。
エンジンが内部で描画したり,クリックの制御なども行ってくれています。
独自に描画というのはこれと同じことで,描画とイベント制御を自分で行うことになります。
市販のソフトウェアゲームのボタンは,ほぼ独自描画であると思います。
updated (2012-10-19T09:55+09:00) ソフトウェア→ゲーム
Re: 独自スタイルのボタンを作りたい
DXライブラリで作ったもので申し訳ございませんが、以前私が作ったボタンクラスを参考までに上げておきます。
ボタンの(私の中での)作り方なのですが、
マウスのボタン状況
1:ボタンから離れている
2:ボタンの上に乗ってる
3:ボタン押した
4:ボタンを放した
の4つを取得し、それぞれの状況に応じたボタン画像を用意します。
ボタンの画像サイズと座標を設定し、
・マウス座標がボタンの範囲内にないときは1の画像を
・マウス座標がボタンの範囲内に入った時には2の画像を
・ボタンを押したときは3の画像を
・ボタンを放したときは4の画像
これらを表示させるようにします。
私のプログラムではボタンを押した時の状況をStateという形で返し、それに応じた処理を行うようにしています。
ボタンを(100,100)に表示しボタンを押したらボタンを使えないようにする。
というプログラムです。
StateはFREE,WAIT,PUSH,PULLといった形で返しております。
ボタンの(私の中での)作り方なのですが、
マウスのボタン状況
1:ボタンから離れている
2:ボタンの上に乗ってる
3:ボタン押した
4:ボタンを放した
の4つを取得し、それぞれの状況に応じたボタン画像を用意します。
ボタンの画像サイズと座標を設定し、
・マウス座標がボタンの範囲内にないときは1の画像を
・マウス座標がボタンの範囲内に入った時には2の画像を
・ボタンを押したときは3の画像を
・ボタンを放したときは4の画像
これらを表示させるようにします。
私のプログラムではボタンを押した時の状況をStateという形で返し、それに応じた処理を行うようにしています。
ボタンを(100,100)に表示しボタンを押したらボタンを使えないようにする。
というプログラムです。
StateはFREE,WAIT,PUSH,PULLといった形で返しております。
- 添付ファイル
-
- BtnClass.zip
- ボタンクラス
- (4.24 KiB) ダウンロード数: 138 回