Anchors und MainMenu

Rund um die LCL und andere Komponenten
Antworten
Ally
Beiträge: 149
Registriert: Do 11. Jun 2009, 09:25
OS, Lazarus, FPC: Win und Lazarus Stable release
CPU-Target: 32 und 64 Bit

Anchors und MainMenu

Beitrag von Ally »

Hallo,

Auf einer Form habe ich ein ListView, dessen Anchors habe ich auf [akTop,akLeft,akBottom] gesetzt.
Ändere ich jetzt, zur Laufzeit, die Höhe des Fensters, ändert sich auch die Höhe der ListView, wie gewünscht, entsprechend mit (auch auf Rechnern mit einer andern Bildschirmauflösung (High-DPI)).

Füge ich jedoch ein MainMenu hinzu, funktioniert das Programm nur noch auf Rechnern die die selbe Bildschirmauflösung (PixelsPerInch) haben wie der Entwicklungsrechner.
Auf Rechnern mit einer anderen Auflösung, verschiebt sich der untere Rand von ListView um die Höhe von MainMenu nach oben.

Ist das ein Bug? oder gibt es gute Gründe dafür dass das so ist?

Als Workaround habe ich folgendes gemacht:

1.) Die Anchors des ListView auf [akTop,akLeft] gesetzt (Standard).
2.) Am unteren Fensterrand ein Panel verankert.
3.) Mit lvListe.AnchorToNeighbour(akBottom, 0, pnlUnten); den unteren Rand der Liste am Panel verankert.

das Ganze mit Lazarus 2.0RC1

Gruß Roland
Zuletzt geändert von Ally am Di 25. Sep 2018, 09:18, insgesamt 1-mal geändert.

wp_xyz
Beiträge: 3251
Registriert: Fr 8. Apr 2011, 09:01

Re: Anchors und MainMenu

Beitrag von wp_xyz »

Passiert das nur mit TListView oder auch anderen Controls?

Ally
Beiträge: 149
Registriert: Do 11. Jun 2009, 09:25
OS, Lazarus, FPC: Win und Lazarus Stable release
CPU-Target: 32 und 64 Bit

Re: Anchors und MainMenu

Beitrag von Ally »

Hallo wp_xyz,

ich habe es jetzt noch mit Bevel, ListBox und Memo getestet.
Sie verhalten sich genauso wie ListView, der untere Rand rutscht nach oben.
Es ist übrigens gleichgültig ob ich auf dem High-DPI-Rechner kompiliere und auf dem Standardrechner ausführe, oder umgekehrt, der Effekt ist immer der Gleiche.

Gruß Roland

wp_xyz
Beiträge: 3251
Registriert: Fr 8. Apr 2011, 09:01

Re: Anchors und MainMenu

Beitrag von wp_xyz »

Also, ich kann's nicht immer reproduzieren. Ich sehe den Fehler nur, wenn ich das Projekt unter 96ppi aufsetze, dann die VM mit 144ppi starte, das Projekt rüberkopiere und dort neu übersetze. Sobald ich das Projekt-Formular unter 144ppi ändere und neu abspeichere, ist der Fehler weg.

Ich denke, du solltest einen Bug-Report schreiben, vielleicht sieht's Ondrej Pokorny, der die High-DPI-Skalierung geschrieben hat. Er hat sich zwar aus dem Entwickler-Team zurückgezogen, ist aber noch ab und zu im Forum/Bugtracker zu sehen.

Ally
Beiträge: 149
Registriert: Do 11. Jun 2009, 09:25
OS, Lazarus, FPC: Win und Lazarus Stable release
CPU-Target: 32 und 64 Bit

Re: Anchors und MainMenu

Beitrag von Ally »

Hallo wp_xyz,

ja, das ist ja das Problem. Wenn ich auf einem Rechner mit Auflösung X eine .EXE erzeuge und diese dann auf einem Rechner mit Auflösung Y starte, habe ich den Fehler.
Mit Bug-Report schreiben kenne ich mich jetzt so gar nicht aus, ganz abgesehen davon, dass ein Versuch meinerseits den Sachverhalt auf englisch zu formulieren zu mehr Verwirrung denn Erhellung führen würde.
Deshalb meine Bitte, könntest Du das nicht übernehmen. Vielleicht könntest Du ja auch deine direkten Kontakte zu Ondrej Pokorny nutzen.
Wie auch immer, Danke fürs testen und bestätigen.

Gruß Roland

wp_xyz
Beiträge: 3251
Registriert: Fr 8. Apr 2011, 09:01

Re: Anchors und MainMenu

Beitrag von wp_xyz »

Siehe https://bugs.freepascal.org/view.php?id=34331. Bitte prüfe, ob ich das Problem richtig beschreibe.

Ally
Beiträge: 149
Registriert: Do 11. Jun 2009, 09:25
OS, Lazarus, FPC: Win und Lazarus Stable release
CPU-Target: 32 und 64 Bit

Re: Anchors und MainMenu

Beitrag von Ally »

Hallo wp_xyz,

das sieht gut aus. Ich denke so kann es jeder nachvollziehen.
Danke fürs einstellen in den Bugtracker.


Gruß Roland

Antworten