Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1412to1416
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Windows Bildschirm-Textgröße

Windows Bildschirm-Textgröße
11.03.2015 15:46:07
Thomas
Hallo,
ich suche eine Lösung für folgendes Problem:
Ich habe eine Listbox auf einer Form erstellt.
Die Höhe der Listbox ermittle ich über die Anzahl der Zeilen.
Das funktioniert auch gut.
Jezt habe ich durch Tests festgestellt, das mir folgende Einstellung bei Windows
Probleme bereitet:
Systemsteuerung/alle Systemsteuerungselemente/Anzeige
Hier kann die Lesbarkeit der Textgröße auf dem
Bildschirm in drei verschiedenen Prozentangaben eingestellt werden:
kleiner-100%, Mittel-125%(Standard) und Größer-150%
Eine Änderung an dieser Einstellung wirkt sich auf die Schriftgröße in meiner Listbox aus, womit meine Berechnung der Höhe der Listbox nicht mehr stimmt.
Hat jemand hierzu eine Idee, wie ich diese Windows-Einstellung auslesen und in Excel VBA verarbeiten kann, oder wie ich dieses Problem sonst lösen kann?

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Windows Bildschirm-Textgröße
11.03.2015 19:21:22
Christian
hallo Thomas,
in Anlehnung an:
http://www.vbarchiv.net/tipps/tipp_232-eingestellte-anzeige-schriftgr-e-pr-fen.html
in ein allgemeines Modul:

Option Explicit
Private Declare Function GetDesktopWindow Lib "user32" () As Long
Private Declare Function GetDC Lib "user32" (ByVal hWnd As Long) As Long
Private Declare Function GetDeviceCaps Lib "gdi32" ( _
ByVal hdc As Long, ByVal nIndex As Long) As Long
Private Declare Function ReleaseDC Lib "user32" ( _
ByVal hWnd As Long, ByVal hdc As Long) As Long
Function GetFontSize() As Long
' Textgröße der Windows Anzeige-Einstellungen auslesen
Dim hWndDesk As Long
Dim hDCDesk As Long
Dim logPix As Long
Const LOGPIXELSX = 88
hWndDesk = GetDesktopWindow()
hDCDesk = GetDC(hWndDesk)
logPix = GetDeviceCaps(hDCDesk, LOGPIXELSX)
Call ReleaseDC(hWndDesk, hDCDesk)
GetFontSize = logPix / 96 * 100
End Function
Sub TestIt()
Dim lngPxl As Long
lngPxl = GetFontSize
MsgBox "Anzeige: " & lngPxl & "%"
End Sub
Gruß
Christian

Anzeige
AW: Windows Bildschirm-Textgröße
11.03.2015 21:55:25
Thomas
Hallo Christian,
vielen Dank für die schnelle Antwort.
Deine Lösung werde ich morgen testen und gebe dir Rückmeldung.
Bis dahin,
Thomas

AW: Windows Bildschirm-Textgröße
12.03.2015 08:12:47
Thomas
Hallo Christian,
funktioniert einwandfrei!
Vielen Dank für den Tipp.
Gruß, Thomas

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige