Hallo zusammen,
Im anhängenden Beispielprogramm geht es um einen bisher nicht erklärbaren Effekt bei der Anzeige von TListView-Komponenten innerhalb von verschiedenen TabSheets einer PageControl.
Als Entwicklungssystem werden Delphi XE2 und/oder Delphi 10.2 eingesetzt. Als Betriebssystem wird Windows7-Pro64 mit einer Standard-Bildschirmauflösung (1680 x 1050) und kleiner Textdarstellung (100 Prozent) verwendet.
Je nach Bildschirmauflösung und Textdarstellung werden ListView-Komponenten nicht korrekt dargestellt. Es wird keine Skalierung "angewendet" und die Anzeige erfolgt mit den Vorgabewerten aus der
IDE. Dazu folgende Testläufe:
1. Testlauf (Standard-Einstellung)
Die Konstante BSCALED (Form2, Zeile 83) wird auf "FALSE" gesetzt.
Die Konstante BPAGED (Form2, Zeile 84) wird auf "FALSE" gesetzt.
Die Auswahl eines TabSheets auf dem 'PageControl1' in der Form2 hat keine Bedeutung.
Das Programm wird gestartet.
Beide ListView-Anzeigen werden korrekt dargestellt.
Alles OK.
2. Testlauf (Simulation einer Skalierung, Textdarstellung 125 Prozent)
Die Konstante BSCALED (Form2, Zeile 83) wird auf "TRUE" gesetzt.
Die Konstante BPAGED (Form2, Zeile 84) wird auf "FALSE" gesetzt.
In der
IDE wird in 'Form2' auf dem 'PageControl1' der 'TabSheet1' ausgewählt.
Die ListView-Anzeige auf dem 'TabSheet1' wird korrekt dargestellt.
Die ListView-Anzeige auf dem 'TabSheet2' wird
nicht korrekt dargestellt.
3. Testlauf (Simulation einer Skalierung, Textdarstellung 125 Prozent)
Die Konstante BSCALED (Form2, Zeile 83) wird auf "TRUE" gesetzt.
Die Konstante BPAGED (Form2, Zeile 84) wird auf "FALSE" gesetzt.
In der
IDE wird in 'Form2' auf dem 'PageControl1' der 'TabSheet2' ausgewählt.
Die ListView-Anzeige auf dem 'TabSheet1' wird
nicht korrekt dargestellt.
Die ListView-Anzeige auf dem 'TabSheet2' wird korrekt dargestellt.
4. Testlauf (Simulation einer Skalierung, Textdarstellung 125 Prozent)
Die Konstante BSCALED (Form2, Zeile 83) wird auf "TRUE" gesetzt.
Die Konstante BPAGED (Form2, Zeile 84) wird auf "TRUE" gesetzt.
In der
IDE wird in 'Form2' auf dem 'PageControl1' der 'TabSheet1' ausgewählt.
Die ListView-Anzeige auf dem 'TabSheet1' wird korrekt dargestellt.
Die ListView-Anzeige auf dem 'TabSheet2' wird korrekt dargestellt.
5. Testlauf (Simulation einer Skalierung, Textdarstellung 125 Prozent)
Die Konstante BSCALED (Form2, Zeile 83) wird auf "TRUE" gesetzt.
Die Konstante BPAGED (Form2, Zeile 84) wird auf "TRUE" gesetzt.
In der
IDE wird in 'Form2' auf dem 'PageControl1' der 'TabSheet2' ausgewählt.
Die ListView-Anzeige auf dem 'TabSheet1' wird
nicht korrekt dargestellt.
Die ListView-Anzeige auf dem 'TabSheet2' wird korrekt dargestellt.
Wie ist das Verhalten der ListView's zu erklären und wo liegt der Fehler ?
Mit besten Grüßen
Mike