Hallo, ich schreibe mal wieder (unter Visual Basic) ein kleines PC-Programm, das später auf allen möglichen PCs laufen soll, u.a. auch auf solchen, bei denen der User den Abbildungsmaßstab der Anzeige größer als normal eingestellt hat, z.B. auf 125%. Nun habe ich beobachtet, dass in solchen Fällen die in meiner Form enthaltenen Hilfslinien ("Lineshape") nicht mitgezoomt werden. Stattdessen verlaufen sie irgendwo hinter den weiteren Elementen der Form. Ich hatte mir gedacht, wenn ich den Abbildungsmaßstab der Anzeige kenne, kann ich diese Elemente in der Form1_Load-Routine entsprechend anpassen. Notfalls könnte ich an dieser Stelle den Abbildungsmaßstab ermitteln, indem ich die aktuelle Größe der Form abfrage und diese mit der Entwurfsgröße vergleiche. Ich finde das aber reichlich unelegant - zumal ich hierbei keineswegs genau den erwarteten Maßstab feststelle. Bei einem versuchsweise eingestellten Abbildungsmaßstab von 125% bekomme ich z.B. bei der Breite der Form den Faktor 790:595 = 1,328 und bei der Höhe 500:408 = 1,225. Offenbar verändert das Betriebssystem sogar das Seitenverhältnis. Ich bin der Meinung, dass so eine wichtige Eigenschaft wie der Abbildungsmaßstab auch direkt per Programm von der Systemsteuerung abzufragen sein muss. Am ehesten würde ich diese Eigenschaft unter My.Computer.Screen erwarten - aber da steht nix in dieser Art. Hat jemand einen Tipp?
Möglicherweise findest Du hier ein paar Hinweise: https://docs.microsoft.com/en-us/windows/desktop/hidpi/high-dpi-desktop-application-development-on-windows
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.