Systemeinstellungen Schriftgröße
Systemeinstellungen Schriftgröße
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
Weiß jemand, ob und wie ich diese Einstellung per API abfragen kann?
Danke
Josh
Re: Systemeinstellungen Schriftgröße
Meinst du die DPI-Einstellung (96dpi = 100 %)?
Abfragen kannst du damit: http://www.rsbasic.de/aktualisierung/wi ... mitteln.pb
Abfragen kannst du damit: http://www.rsbasic.de/aktualisierung/wi ... mitteln.pb
Re: Systemeinstellungen Schriftgröße
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%
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%
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Re: Systemeinstellungen Schriftgröße
Genau das wird mit dem Code von RSBasic ermittelt. Musst nur noch die DPI in % ändern, falls erforderlich 

PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Re: Systemeinstellungen Schriftgröße
Es ist vielleicht besser mit #LOGPIXELSY zu arbeiten:
Gruß
Helle
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
Helle
Re: Systemeinstellungen Schriftgröße
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.
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
@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.
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
Wiso global? Das sind Einstellungen vom Benutzer.
In XP ändere ich ja auch keinen DIP Wert. Es werden NUR die Schriftgröße verändert.
In XP ändere ich ja auch keinen DIP Wert. Es werden NUR die Schriftgröße verändert.
Re: Systemeinstellungen Schriftgröße
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.
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
Du willst ja die Schriftgröße ermitteln: http://purebasic.fr/english/viewtopic.p ... 92#p339292