Ho un componente pulsante personalizzato che ho derivato da TCustomButton.Modifica di CreateParams in modo dinamico?
Per rendere ownerdrawn ho overrided le CreateParams in questo modo:
procedure TMyButton.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
with Params do
begin
Style := Style or BS_OWNERDRAW;
end;
end;
mio pulsante funziona bene con la mia pittura, ecc, ma quello che vorrei fare è fornire una proprietà booleana in Inspector, che può essere usato per dire al mio pulsante se dovrebbe essere proprietario o meno.
Ad esempio, se la proprietà è abilitata, il pulsante dipinge con le mie routine di pittura come pulsante proprietario, se la proprietà viene disattivata, deve dipingere come lo stile di pulsante di Windows a tema (come un normale pulsante).
CreateParams dice al mio pulsante che dovrebbe essere ownerdawn, ma voglio fornire un'opzione per dire al pulsante se dovrebbe essere ownerdrawn o meno. Modificando la proprietà in fase di progettazione o tramite codice in fase di runtime, voglio dire al mio pulsante se ritirare o meno.
E 'possibile farlo e se sì, come?
RecreateWnd era la parola magica che ora conosco :) –