お世話になっております。
現在、ツールバーにカスタムボタンの作成を行っているのですが、
DrawFrameControlを使ってフラットボタンを描画したときに
全体が白く淵の部分が黒く描画されてしまいます。
正しく描画するためにはどのようにすればよいのでしょうか?
環境は VisualStudio2005 です。
コードは以下のように記述しています。
BOOL br =::DrawFrameControl(dcHandle, &rectItem, DFC_BUTTON, bIsPressed ?
DFCS_FLAT | DFCS_PUSHED : DFCS_FLAT);
よろしくお願いいたします。
DFCS_BUTTONPUSHフラグが足りないのでは?
以下のようにBUTTONPUSHを追加してみました
BOOL br =::DrawFrameControl(dcHandle, &rectItem, DFC_BUTTON, bIsPressed ?
DFCS_FLAT | DFCS_BUTTONPUSH | DFCS_PUSHED : DFCS_BUTTONPUSH | DFCS_FLAT);
押されているとき DFCS_BUTTONPUSH | DFCS_FLAT
押されていないとき DFCS_FLAT | DFCS_BUTTONPUSH | DFCS_PUSHED
押されているときと押されていないときに、同じ表示(ボタンが押されているような表
示)になってしまいました。
フラットボタンの場合は押された時のみ表示するのでしょうか?
ツールバーでテーマを適用しない場合の描画なら
DrawEdgeの方がいいかもしれませんね。