Als kleine Ergänzung zu unserem gestrigen Tipp Eine Prüfung der Schriftgröße ist z.B. dann sinnvoll, wenn Formulare (Datenmasken) Ihrer Anwendung nicht mehr korrekt dargestellt werden können, sollte "große Schriftarten" eingestellt sein. Sie wissen gar nicht, wie Ihre Formulare dargestellt werden, wenn "große Schriftarten" eingestellt ist? Sollte sich bei der Prüfung herausstellen, daß auch Ihre Formulare nicht so angezeigt werden, wie sie eigentlich sollten, empfiehlt es sich eine entsprechende Prüfung in das Programm einzubauen und dann ggf. den Anwender darauf hinzuweisen. Und hier die Routine, die es möglich macht Option Explicit ' zunächst die benötigten API-Deklarationen 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 Über die GetDeviceCaps-Funktion lässt sich u.a. die festgelegte Einstellung der eingestellten Schriftarten-Größe ermitteln. Die Funktion gibt die Schriftgröße in dpi zurück. Mit dieser Information lässt sich dann leicht prüfen, ob die normale Einstellung "kleine Schriftarten" verwendet wird. Die normal Schriftgröße beträgt 96 dpi. ' Prüft, ob kleine oder große Schrift in den ' Anzeige-Einstellungen festgelegt wurde ' True = kleine Schrift ' False = große Schrift Public Function CheckForSmallFonts() As Boolean Const LOGPIXELSX = 88 Dim hWndDesk As Long Dim hDCDesk As Long Dim logPix As Long hWndDesk = GetDesktopWindow() hDCDesk = GetDC(hWndDesk) logPix = GetDeviceCaps(hDCDesk, LOGPIXELSX) Call ReleaseDC(hWndDesk, hDCDesk) CheckForSmallFonts = (logPix = 96) End Function Jetzt fehlt nur noch der Funktionsaufruf Private Sub Form_Load() ' beim Programmstart "Schriftgröße" prüfen If Not CheckForSmallFonts() Then ' "große Schriftarten" ist eingestellt If MsgBox("In den Windows-Einstellungen für die " & _ "Bildschirmanzeige ist die Schriftgröße nicht " & _ "auf 'kleine Schriftarten' eingestellt. Dies " & _ "führt in einigen Bildschirmmasken zu " & _ "Darstellungsproblemen", 65) = vbCancel Then End End If End If End Sub Dieser Tipp wurde bereits 24.686 mal aufgerufen.
Anzeige
![]() ![]() ![]() (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
sevISDN 1.0 ![]() Überwachung aller eingehender Anrufe! Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Tipp des Monats ![]() Dieter Otter Beliebige Zeichen am Anfang und Ende eines Strings entfernen Mit der Trim-Funktion lassen sich nicht nur Leerzeichen, sondern bei Bedarf auch beliebige Zeichen entfernen. Neu! sevCommand 4.0 ![]() Professionelle Schaltflächen im modernen Design! Mit nur wenigen Mausklicks statten auch Sie Ihre Anwendungen ab sofort mit grafischen Schaltflächen im modernen Look & Feel aus (WinXP, Office, Vista oder auch Windows 8), inkl. große Symbolbibliothek. |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |