CButtonを継承し、uxtheme.dll(BP_PUSHBUTTONを使用したDrawThemeBackground)を使用して描画するカスタムボタンを実装しました。
すべて正常に動作しますが、ホットステータスが同じである2つのステータス(通常とプレス済み)があります。これは、ユーザーがボタンの上にカーソルを置くと、ボタンのステータス(押されているかどうか)に関係なく、同じように描画されることを意味します。
これはユーザーを少し混乱させるので、Pressed&Hotステータスでのボタンの描画方法を変更したいと思います。誰かが方法を知っていますか?
絵全体をカスタマイズすることも考えましたが、ボタンはグラデーション、ボーダー、シャドウなどを使用しているので、自分ですべてを描いて同じルック&フィールを実現するのは簡単ではありません。dllのソースコードを見つける方法やその方法を知る方法はありますか?
前もって感謝します。
ハビエル
注:CMFCButtonを使用し、OnDrawメソッドをオーバーライドすることで、やりたいことを達成できると思います。コントロールにOnDrawBorderにボタンを描画させてから、内側のボタンを自分で描画させます。しかし、押されたときにコントロールが内側のボタンをどのように描画するかを知る必要があります。これはグラデーションであり、どのように行われるかは推測できません。誰か手がかりがありますか?