GetDialogBaseUnits ermittelt werden

Die Funktion GetDialogBaseUnits ermittelt werden gibt das System Dialogfeld Basiseinheiten, die durchschnittliche Breite und Höhe der Zeichen in der Systemschriftart sind. Für Dialogfelder, die die Systemschriftart verwenden, können Sie diese Werte zum Dialogfeld Vorlage Einheiten, wie angegeben in Dialogfeldvorlagen, Pixel konvertieren. Hängt die Schriftart im Dialogfeld für Dialogfelder, die die Systemschriftart nicht verwenden, um die Konvertierung von Dialogfeld Vorlage Einheiten in Pixel.

Für beide Typen von Dialogfeld ist es einfacher, die MapDialogRect -Funktion verwenden, um die Konvertierung auszuführen. MapDialogRect berücksichtigt die Schriftart und korrekt konvertiert ein Rechteck von Dialogfeld Vorlage Einheiten in Pixel.

LANGE GetDialogBaseUnits(VOID) 

Parameter

Diese Funktion hat keine Parameter.

Rückgabewerte

Der Rückgabewert ist ein 32-Bit-Wert, der die Dialogfeld Basiseinheiten enthält. Das niedrige Word der der Rückgabewert enthält die horizontale Dialogfeld im Feld Basiseinheit und das hohe Word der vertikalen Dialogfeld Feld Basiseinheit.

Bemerkungen

Die horizontale Basiseinheit zurückgegebener GetDialogBaseUnits ermittelt werden ist gleich die durchschnittliche Breite der Zeichen in die Systemschriftart in Pixel. die vertikale Basiseinheit ist gleich die Höhe in Pixel, der Schriftart.

Für ein Dialogfeld, das nicht die Systemschriftart verwendet wird, sind die Grundeinheiten der durchschnittlichen Breite und Höhe in Pixel, der die Zeichen in das Dialogfeld Schriftart. Sie können die GetTextMetrics und GetTextExtentPoint32 Funktionen, um diese Werte für eine ausgewählte Schriftart berechnen. Jedoch können mithilfe der Funktion MapDialogRect Sie Fehler vermeiden, die entstehen könnten, wenn Ihre Berechnungen unterscheiden sich von denen vom System durchgeführt.

Jede horizontale Basiseinheit ist gleich 4 horizontale Dialogeinheiten Vorlage; jede vertikale Basiseinheit ist gleich 8 vertikale Dialogeinheiten Vorlage. Daher um Dialogfeld Vorlage Einheiten in Pixel zu konvertieren, verwenden Sie die folgenden Formeln:

pixelX = (TemplateunitX * BaseunitX) / 4 pixelY = (TemplateunitY * BaseunitY) / 8 

 

Ebenso um von Pixel in Dialogeinheiten Vorlage konvertieren, verwenden Sie die folgenden Formeln:

templateunitX = (PixelX * 4) / BaseunitX TemplateunitY = (pixelY * 8) / BaseunitY 

 

Die Multiplikation erfolgt vor der Teilung zu vermeiden Rundungsprobleme wenn Basiseinheiten nicht teilbar sind durch 4 oder 8.

Windows CE: Windows CE unterstützt keine erweiterten Fehlerwerte für diese Funktion nicht.

QuickInfo

&Nbsp; Windows NT: Version 3.1 oder höher erforderlich.
Windows:Erfordert Windows 95 oder höher.
Windows CE:Version 1.0 oder höher benötigt.
Header:In winuser.h deklarierten.
Importieren Bibliothek:Verwenden Sie user32.lib.

Siehe auch

Übersicht über Dialogfelder, Dialogfeld Feld Funktionen, MapDialogRect

Index