- ベストアンサー
教えてボタンの作り方について
- win32APIを利用してC/C++でゲームを作る際に、ボタンのオリジナルなグラフィックスを作成する方法について教えてください。
- リソースファイルを使用してボタンを配置する場合とウィンドウを作ってボタンを配置する場合のボタンデザインの違いについて教えてください。
- XPのデザインのボタンをウィンドウに配置する方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは。 >>ボタンを作る時CreateWindow関数でボタンコントロールは作れるのですがその場合ボタンのグラフィックスをオリジナルのものにしてボタンを作る方法ってありますか? >>標準コントロールなのでやはりオリジナルのものは作れないのでしょうか? MFCにはCBitmapButtonと言うクラスがあります。 http://msdn.microsoft.com/ja-jp/library/a3y45xs0(VS.80).aspx WIN32APIで突き通すならオーナードローを行います。ボタンの場合は「WM_DRAWITEM」を処理します。 http://msdn.microsoft.com/en-us/library/bb775923(VS.85).aspx >>だとするとどの様にオリジナルのボタンを作ればよいのでしょうか?オリジナルのコントロールを作りたいです。 色々やり方は有ります。CreateWindow()で子ウィンドウを沢山作り、マウスのキャプチャーでボタン紛いな動きをさせる事も可能です。 スタイルは「WS_CHILD」です。 後、ウィンドウの変形にはリージョンを使用します。最も複雑な形状を実現するには、以下を使用します。 http://msdn.microsoft.com/ja-jp/library/cc428592.aspx >>もう一つ質問があります。ダイアログボックスなどでリソースファイルを使ってボタンを配置する場合とウィンドウを作ってボタンを配置する場合とでボタンのデザインが違います。OSはXPを使用しているのですがXPのデザインのボタンをウィンドウに配置したい場合の方法を教えてください。 もしかしたら、以下が手掛かりになるかもしれません。 http://zoosir.hp.infoseek.co.jp/tips/control/control01.htm
その他の回答 (1)
- SAYKA
- ベストアンサー率34% (944/2776)
オリジナルボタンは 画像にボタンクリックと同じイベントを突っ込んで作る方法と 標準ボタンclassを継承していじる方法と あるんじゃないのかな。 どっちが簡単そうかは、それぞれ調べてみたら判るんじゃない?
お礼
お返事ありがとうございます。 標準ボタンのclassがどこにあるかわからず今の自分の技量ではできそうにありませんでした;; 画像にイベントを自作してボタンを作る方法は自分でもできそうです。 参考になりました。
お礼
お返事ありがとうございます。 オーナードローという方法があったんですね。なんとかボタンを作ることができそうです。XPのデザインにもすることができました。