Systemeinstellungen Schriftgröße

Windowsspezifisches Forum , API ,..
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
Benutzeravatar
Josh
Beiträge: 1028
Registriert: 04.08.2009 17:24

Systemeinstellungen Schriftgröße

Beitrag 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
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Systemeinstellungen Schriftgröße

Beitrag von RSBasic »

Meinst du die DPI-Einstellung (96dpi = 100 %)?
Abfragen kannst du damit: http://www.rsbasic.de/aktualisierung/wi ... mitteln.pb
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
Josh
Beiträge: 1028
Registriert: 04.08.2009 17:24

Re: Systemeinstellungen Schriftgröße

Beitrag 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%
Benutzeravatar
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

Beitrag von ts-soft »

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.
Bild
Benutzeravatar
Helle
Beiträge: 566
Registriert: 11.11.2004 16:13
Wohnort: Magdeburg

Re: Systemeinstellungen Schriftgröße

Beitrag 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
Benutzeravatar
Josh
Beiträge: 1028
Registriert: 04.08.2009 17:24

Re: Systemeinstellungen Schriftgröße

Beitrag 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.
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Systemeinstellungen Schriftgröße

Beitrag 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.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
Josh
Beiträge: 1028
Registriert: 04.08.2009 17:24

Re: Systemeinstellungen Schriftgröße

Beitrag 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.
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Systemeinstellungen Schriftgröße

Beitrag 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.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Systemeinstellungen Schriftgröße

Beitrag von RSBasic »

Du willst ja die Schriftgröße ermitteln: http://purebasic.fr/english/viewtopic.p ... 92#p339292
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Antworten