Einzelnen Beitrag anzeigen

Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#6

AW: [FMX] Splitter in einem bestimmten Bereich verschieben

  Alt 9. Jul 2013, 23:49
Hallo Volker,

danke für Deinen Tipp. Ich habe das ganze mal ausprobiert und Dein Ansatz war völlig richtig. Hier mein Endergebnis :
Delphi-Quellcode:
var
  HalfClientWidth : Single;
  LeftClientWidth : Single;

procedure TForm1.FormResize(Sender: TObject);
begin
  HalfClientWidth := Round(self.ClientWidth / 2);
  LeftClientWidth := 300;
end;

procedure TForm1.Panel2Resize(Sender: TObject);
begin
  if LeftClientWidth > Panel2.Width then
    Panel2.Width := LeftClientWidth
  else
    if Panel2.Width > HalfClientWidth then
      Panel2.Width := HalfClientWidth - Splitter1.Width;
end;
Nun kann ich das Panel2 in der Breite nicht kleiner als 300 Pixel machen und das Panel 3 nicht kleiner als die Hälfte der Breite vom Fenster. Ich habe auch jetzt nichtmehr das Zittern des Splitters, wenn ich über die Grenze des Bereiches gehe. Damit bin ich wieder einen Schritt weiter.

Edit:
Ich habe auch einen entsprechenden Eintrag in meine Code-Orakel Online Datenbank gemacht.
Rolf Warnecke
App4Mission

Geändert von RWarnecke (10. Jul 2013 um 00:18 Uhr)
  Mit Zitat antworten Zitat