TCustomButton から派生したカスタム ボタン コンポーネントがあります。
オーナードローにするために、次のように CreateParams をオーバーライドしました。
procedure TMyButton.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
with Params do
begin
Style := Style or BS_OWNERDRAW;
end;
end;
私のボタンは自分の絵などで問題なく動作しますが、オブジェクト インスペクターでブール プロパティを提供して、ボタンを所有者描画するかどうかを指定するために使用できるようにしたいと考えています。
たとえば、プロパティが有効になっている場合、ボタンは所有者描画ボタンとして独自のペイント ルーチンでペイントされます。プロパティがオフになっている場合は、テーマに合わせた Windows ボタン スタイル (通常の TButton など) としてペイントする必要があります。
CreateParams は私のボタンに ownerdawn であるべきだと伝えますが、ボタンが ownerdrawing であるべきかどうかをボタンに伝えるオプションを提供したいと思います。設計時または実行時にコードを介してプロパティを変更することにより、ボタンに所有者描画するかどうかを伝えたいと思います。
これは可能ですか?