Einzelnen Beitrag anzeigen

Mike_on_Tour

Registriert seit: 16. Aug 2007
195 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

Falsche Darstellung einer ListView im PageControl

  Alt 6. Jul 2017, 15:09
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
Miniaturansicht angehängter Grafiken
testlauf1.jpg   testlauf2.jpg   testlauf3.jpg  
Angehängte Dateien
Dateityp: zip TabSheetsProblem.zip (84,0 KB, 11x aufgerufen)
Programmieren ist wie das Wandeln auf dem schmalen Pfad zwischen Wahnsinn und Intelligenz.

Geändert von Mike_on_Tour ( 6. Jul 2017 um 15:53 Uhr)
  Mit Zitat antworten Zitat