Forum: PC-Programmierung Abbildungsmaßstab der Anzeige ermitteln?


von Realist_50 (Gast)


Lesenswert?

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?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?


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
Noch kein Account? Hier anmelden.