none
シェブロンボタン(形状が丸く矢印のついたボタン)を作りたい RRS feed

  • 質問

  • こんにちは、いつもお世話になっています。

    下記のページになるようなシェブロンボタンを作りたいと思っています。

    http://msdn.microsoft.com/ja-jp/library/aa511487.aspx

    しかしながらこのような丸いボタンを作ったことがありません。

    調べたのですが、これはとくにツールの中にラジオボタンのような丸いボタンがある訳ではなく、どうやら自分で作らないといけないのかなという気がしています。

    やはりビットマップから作成して行くべきなのでしょうか、そしてCMFCButtonをクラスとして作って行くべきなのでしょうか?

    もしご存知の方がいらっしゃいましたらお助けください。

    2011年3月10日 5:12

すべての返信

  • こんにちは。

    試していませんが、シェブロンボタンは API の DrawThemeBackground、または DrawThemeBackgroundEx で描画できるようです。
    テーマ自体が Win XP 以降のものなので、MFC はカバーしていないと思われます。

    後は・・・シェブロンボタンの外観が OS 毎にどの程度違うのか判りかねますので、いよいよになったらオーナー描画にするしかないと思われます。

    # MFC の Figure Pack に存在したりして・・・。

    • 編集済み ミッヒー 2011年3月10日 5:38 誤記訂正 : 概観→外観
    2011年3月10日 5:35
  • Visual Styles APIはVisual Style Offの状態では利用できません。
    そのためVisual Style Offの状態も配慮するなら、それ用に自作する必要があります。

    従ってVisual Styles On/Offで同じUIにするか、別にするか検討する必要があります。
    また Visual Styles APIが利用出来るかどうか判断するには、以下を参考にしてください。

    [Using Visual Styles with Owner-Drawn Controls]
      http://msdn.microsoft.com/en-us/library/dd373487(VS.85).aspx

    >シェブロンボタンは API の DrawThemeBackground、
    >または DrawThemeBackgroundEx で描画できるようです。
    少し見てみましたが、同じ外観を実現するPart ID/State IDが見つからないです。
    どの組み合わせで実現するのでしょうね。

    2011年3月11日 12:50