• ベストアンサー

ボタン(コントロール)を丸くしたい

VC++.NET2005にて、コントロールのカスタマイズをしています。 そこで、四角いボタンを丸く実装したいのですが、どなたかご存知の方いらっしゃいましたら、ご教授の程宜しくお願い致します。 また、最終的にはスライダーバー、スクロールバーのつまみ部分を丸くしたいです。

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

  • ベストアンサー
  • Oh-Orange
  • ベストアンサー率63% (854/1345)
回答No.2

★アドバイス ・ボタンウインドウに対してリージョンを使えば良いと思います。  試していませんが丸いウインドウを作ればいいのです。  描画で丸くしてもクリック時にボタンではない場所をクリックすると  丸い形をしたボタンが押されてしまいます。だからリージョンで丸く  するのです。 >また、最終的にはスライダーバー、スクロールバーのつまみ部分を丸くしたいです。  ↑  つまみ部分はオーナードローなどで丸い形に描画するしかないでしょう。 ・以上。参考にして下さい。

unlonghorn
質問者

お礼

早々の回答、有難うございます。 CRgnがリージョン作成というクラスだったので、この中の関数でがんばって作ってみます。 有難うございました。

その他の回答 (1)

  • zwi
  • ベストアンサー率56% (730/1282)
回答No.1

MFCで良ければ、「透過(アルファ)ボタンMFCライブラリ」 http://www.vector.co.jp/soft/winnt/prog/se444170.html ってのがあります。2000以降限定ですが。 エッジのジャギーを気にしないなら、ボタンのクラスを継承してボタンをオーナードローする時に透明色でイメージを抜いてやれば丸も含めた自由な形のボタンを作れますよ。これは、C++ネイティブとC++/CLIで使える手法です。

unlonghorn
質問者

お礼

早々の回答有難うございます。 Vectorにこんなライブラリがフリーであったんですね。 早速試してみます。 有難うございました。

関連するQ&A

専門家に質問してみよう