I have a component derived from TGraphicControl and one of the published properties is of type TFont like this:
procedure SetGridFont(const Value: TFont);
property GridFont: TFont read FGridFont write SetGridFont;
procedure Txxx.SetGridFont(const Value: TFont);
FGridFont is created in the component's constructor and freed in the destructor.
When I change the font using the ellipses in the object inspector the Invalidate is invoked and my component is repainted with the new font settings.
If, however, I expand the TFont properties in the object inspector and change individual font settings then the Invalidate is NOT invoked and my component is not repainted.
How can I get it to repaint in the second scenario?