Hallo und einen schönen Sonntag zusammen,
ich habe ein Form mit mehreren gleichgroßen JvPanel Komponenten. Ich möchte diese zur Laufzeit skalieren können. Das geht auch soweit ohne Problem. Jetzt kommt das was ich bislang noch nicht hinbekommen habe. Ändere ich die Größe von z.B. Panel1, sollen alle anderen Panels ebenfalls gleichmäßig mit "Größer" oder "Kleiner" werden.
Die Panels werden zur Laufzeit auch erst erstellt. Das heißt, ich muss der Methode eine Prozedure zuweisen.
Delphi-Quellcode:
private
//Methoden zu JvPanel
procedure PanelSetWidth(Sender: TObject; ChangedSize: Integer);
procedure PanelSetHeight(Sender: TObject; ChangedSize: Integer);
...
//Erstellen der Panels zu Laufzeit
Panels[i] := TJvPanel.Create(Self);
with Panels[i] do
begin
Name := 'p'+IntToStr(i);;
Parent := ParentPan;
Align := alClient;
Height := KPanelHeight;
Width := KPanelWidth;
Caption := IntToStr(i);
Sizeable := True;
OnChangedWidth := PanelSetWidth;
OnChangedHeigth := PanelSetHeigth;
TabOrder := i;
end;
Das Problem ist, ich kann das entsprechenden Panel skalieren, allerdings wird die Methode OnChangeWidth und OnChangeHeigth nie aufgerufen. Selbst wenn ich eine Komponente zur Entwurfszeit auf die Form legen und z.B. ein ShowMessage('Größe geändert'); in die Methode eintrage. Es passiert nichts. Kennt jemand vieleicht das Problem?
Gruß Jens