delphi как в Desing-Time изменить визуальный размер TComponent? (как это сделано в FMX?)
Когда я тяну мышь TComponent в режиме разработки рисуется окно нового размера но новый размер не устанавливается, т.к нет таких полей в TComponent однако в FMX все контролы это не Vcl.TControl а TFmxObject = class(TComponent, IFreeNotification, IActionClient) и там можно изменять размер контрола в Desing-Time. Так какой интерфейс нужно поддерживать что бы в Vcl поменять размер TComponent.
Детальтей
Наследуюсь от TComponent и создаю в нем TCanvas Parent будет в TComponent слать WM_PAINT Региструю компонент в ide и добавляю на форму. Вижу нарисованный компонент внутри Parent но размер его изменить в режиме разработки не могу. Это легко можно сделать если унаследоватся от TControl но для моей задачи только TComponent как предок должен быть
Какой интерфейс нужно поддерживать что бы это стало возможно. Вот например ide изменяет размер TControl вызывая [5281B665]{vcldesigner260.bpl} VCLSurface.TControlItem.SetBoundsRect (Line 1183, "VCLSurface.pas" + 1)
VCLSurface.pas нигде нет что бы это посмотреть
Вот например как FmxObject Меняет размер
[4EE43175]{Package1.bpl} Unit3.TMemoTest.SetBounds (Line 45, "Unit3.pas" + 4) + $11 [101C0ACB]{fmxdesigner260.bpl} FmxSurface.TControlItem.SetBoundsRect (Line 1948, "FmxSurface.pas" + 1) + $56 [20FE441B]{designide260.bpl} Designer.TDesigner.DoDragSize (Line 851, "Designer.pas" + 4) + $8 [20FE4B16]{designide260.bpl} Designer.TDesigner.DragEnd (Line 991, "Designer.pas" + 22) + $3 [20FE7138]{designide260.bpl} Designer.TDesigner.MouseUp (Line 1776, "Designer.pas" + 1) + $2 [101CB397]{fmxdesigner260.bpl} FmxSurface.MouseEvent (Line 6792, "FmxSurface.pas" + 89) + $11 [101CB984]{fmxdesigner260.bpl} FmxSurface.TFmxDesignSurface.IsDesignMsg (Line 6951, "FmxSurface.pas" + 38) + $6 [07559E64]{fmx260.bpl } FMX.Platform.Win.WndProc (Line 2286, "FMX.Platform.Win.pas" + 12) + $1
![[1]: https://i.stack.imgur.com/mBoRB.png](https://i.stack.imgur.com/ken70.png)