Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.024 Beiträge
 
Delphi 12 Athens
 
#4

AW: D11 FMX TGridPanelLayout (oder: was rauchen die bei Embarcadero....

  Alt 13. Nov 2021, 13:09
Wenn ich mich dann aber doch umentscheide und aus einer 25% dann 40% mache
dann gehen die anderen nicht auf 20% sondern es kommt was schräges dabei raus.
Wenn alle Spalten 25% haben und du eine Spalte davon auf 40% ändern willst, musst du dort eine 50 eingeben. (Klingt komisch, ist aber so)

Grund ist die etwas abwegige Implementierung der Prozentaufteilung. Die rechnet erstmal alle Prozentwerte zusammen. Kommt dabei 0 heraus, wird gleichmäßig aufgeteilt. Andernfalls werden die Prozentzahlen so skaliert, dass die Summe 100 ergibt.

Sei akt der aktuelle Prozenzwert und neu der gewünschte, dann errechnet man den einzugebenden Wert x mit x := neu*(100 - akt)/(100-neu); Damit bekommt die aktuelle Spalte den gewünschten Wert und die anderen werden im aktuellen Verhältnis angepasst.

Das funktioniert aber schon bei zwei zu ändernden Spalten nicht mehr.

Aktuell ist das aber nur ein Problem für FMX. In der VCL-Version TGridPanel gibt es ein Kontextmenü, mit dem man die automatische Neuberechnung unterdrücken kann, bis man alle Prozentzahlen richtig eingegeben hat. Vielleicht schreibt einer einen QP-Report, damit diese Funktionalität auch in der FMX-Version umgesetzt wird?
Miniaturansicht angehängter Grafiken
13-11-_2021_14-05-38.png  
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat