Da gibt es doch glatt Komponenten, die auf den Windows Bug aufbauen bzw. nur durch diesen funktionieren, da sie einen Endlos-Resize auslösen.
Dadurch das die Rekursions-Beschränkung durch meinen Patch weg fällt, ist dieses Endlos-Resize natürlich eine Endlosschleife. Deswegen habe ich nun eine Enlos-Resize-Erkennung in die
Unit eingebaut um die dadurch entstehende Endlosschleife abzubrechen.
Hier mal ein Beispiel für so eine Komponente:
Delphi-Quellcode:
type
TBadPanel = class(TPanel)
protected
procedure WMSize(var Message: TWMSize); message WM_SIZE;
end;
procedure TBadPanel.WMSize(var Message: TWMSize);
begin
if Message.Width < 10 then
Width := 11
else if Message.Width > 10 then
Width := 9;
inherited;
end;
Da die
Unit auf meinem aktuellsten Code basiert enthält sie auch die noch in der Experimentierphase befindliche "Optimized Resize Redraw" Funktionalität, die standardmäßig abgeschaltet ist. Dadurch könnten Formulare fliesender und flüssiger (schneller) vergrößert/verkleinert werden.