Seite 1 von 1
Systemeinstellungen Schriftgröße
Verfasst: 19.07.2012 14:30
von Josh
In den Systemeinstellungen kann ich ja festlegen, ob die Schrift in Windows vergrößert dargestellt werden soll (125%, 150%).
Weiß jemand, ob und wie ich diese Einstellung per API abfragen kann?
Danke
Josh
Re: Systemeinstellungen Schriftgröße
Verfasst: 19.07.2012 14:35
von RSBasic
Meinst du die DPI-Einstellung (96dpi = 100 %)?
Abfragen kannst du damit:
http://www.rsbasic.de/aktualisierung/wi ... mitteln.pb
Re: Systemeinstellungen Schriftgröße
Verfasst: 19.07.2012 15:07
von Josh
Ich meine folgende Einstellungen:
XP
- Systemsteuerung
- Anzeige
- Darstellung
- Schriftgrad
und dann auswählen zwischen:
- Normal
- Große Schriftarten
- Sehr große Schriftarten
Win7
- Systemsteuerung
- Anzeige
und dann auswählen zwischen:
- Kleiner
- Mittel 125%
- Größer 150%
Re: Systemeinstellungen Schriftgröße
Verfasst: 19.07.2012 15:19
von ts-soft
Genau das wird mit dem Code von RSBasic ermittelt. Musst nur noch die DPI in % ändern, falls erforderlich

Re: Systemeinstellungen Schriftgröße
Verfasst: 19.07.2012 15:44
von Helle
Es ist vielleicht besser mit #LOGPIXELSY zu arbeiten:
Code: Alles auswählen
If OpenWindow(0, 0, 0, 0, 0, "", #PB_Window_Invisible)
MessageRequester("Desktop-Schriftgröße Windows", StrF((100 / 96) * GetDeviceCaps_(GetDC_(WindowID(0)), #LOGPIXELSY), 0) + "%")
EndIf
Gruß
Helle
Re: Systemeinstellungen Schriftgröße
Verfasst: 19.07.2012 18:04
von Josh
Danke erst mal für eure Antworten, leider funktioniert beides nicht. Was ich auch erst jetzt gecheckt habe, dass die beiden Funktionen in XP und in WIN7 nicht das gleiche machen.
XP
Hier werden nur die Schriftarten vergrößert.
Bei RsBasic seiner Version wird hier bei allen drei Modi 96 DPI ausgegeben.
Bei Helles Version wird für alle drei Modi 100% ausgegeben.
WIN7
Hier wird zum Teil auch die Grafik vergrößert
Bei RsBasics Version werden bei den drei Modi folgende Werte ausgegeben: 96/120/96
Bei Helles Version werden bei den drei Modi folgende Werte ausgegeben: 100/125/100
Beim letzten Modi dürfte Win7 intern Pixel einfügen, sodass die Angaben wieder ok sind.
Re: Systemeinstellungen Schriftgröße
Verfasst: 19.07.2012 18:11
von RSBasic
@Josh
Du musst deinen PC neu starten, damit die Änderungen global wirksam werden. Nach dem Neustart wird bei der WinAPI-Abfrage auch den richtigen DPI-Wert zurückgegeben.
Re: Systemeinstellungen Schriftgröße
Verfasst: 19.07.2012 18:22
von Josh
Wiso global? Das sind Einstellungen vom Benutzer.
In XP ändere ich ja auch keinen DIP Wert. Es werden NUR die Schriftgröße verändert.
Re: Systemeinstellungen Schriftgröße
Verfasst: 19.07.2012 18:25
von RSBasic
Mit "global" meine ich nicht benutzerübergreifend, sondern, dass diese Änderung überall wirksam wird wie z.B. bei der WinAPI-Abfrage.
Wenn du direkt ermitteln möchtest, welcher DPI-Wert aktuell eingestellt wurde, dann musst du es über Registry machen. Beispielcodes über das Auslesen von Einträgen aus der Registry findest du in diesem Forum reichlich.
Wo diese Einstellung gespeichert ist: HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics\
DWORD (32-bit): AppliedDPI
Dieser Wert wird immer angepasst, wenn du die DPI-Einstellung von Windows änderst.
\\Edit:
Die andere Einstellung, die du meinst, "Schriftgröße", muss ich erst schauen, wie man das auslesen kann.
Re: Systemeinstellungen Schriftgröße
Verfasst: 19.07.2012 18:51
von RSBasic