CHOOSEFONTA-Struktur (commdlg.h)

Enthält Informationen, die die ChooseFont-Funktion zum Initialisieren des Dialogfelds Schriftart verwendet. Nachdem der Benutzer das Dialogfeld geschlossen hat, gibt das System Informationen zur Auswahl des Benutzers in dieser Struktur zurück.

Syntax

typedef struct tagCHOOSEFONTA {
  DWORD        lStructSize;
  HWND         hwndOwner;
  HDC          hDC;
  LPLOGFONTA   lpLogFont;
  INT          iPointSize;
  DWORD        Flags;
  COLORREF     rgbColors;
  LPARAM       lCustData;
  LPCFHOOKPROC lpfnHook;
  LPCSTR       lpTemplateName;
  HINSTANCE    hInstance;
  LPSTR        lpszStyle;
  WORD         nFontType;
  WORD         ___MISSING_ALIGNMENT__;
  INT          nSizeMin;
  INT          nSizeMax;
} CHOOSEFONTA;

Member

lStructSize

Art: DWORD

Die Länge der Struktur in Bytes.

hwndOwner

Typ: HWND

Ein Handle für das Fenster, das das Dialogfeld besitzt. Bei diesem Member kann es sich um ein beliebiges gültiges Fensterhandle handeln, oder es kann NULL sein, wenn das Dialogfeld keinen Besitzer hat.

hDC

Typ: HDC

Dieses Element wird von der ChooseFont-Funktion ignoriert.

Windows Vista und Windows XP/2000: Ein Handle für den Gerätekontext oder Informationskontext des Druckers, dessen Schriftarten im Dialogfeld aufgeführt werden. Dieses Element wird nur verwendet, wenn das Flags-Element das CF_PRINTERFONTS- oder CF_BOTH-Flag angibt. andernfalls wird dieser Member ignoriert.

lpLogFont

Typ: LPLOGFONT

Ein Zeiger auf eine LOGFONT-Struktur . Wenn Sie das CF_INITTOLOGFONTSTRUCT-Flag im Flags-Element festlegen und die anderen Elemente initialisieren, initialisiert die ChooseFont-Funktion das Dialogfeld mit einer Schriftart, die den LOGFONT-Membern entspricht. Wenn der Benutzer auf die Schaltfläche OKklickt, legt ChooseFont die Elemente der LOGFONT-Struktur basierend auf der Auswahl des Benutzers fest.

iPointSize

Typ: INT

Die Größe der ausgewählten Schriftart in Einheiten von 1/10 eines Punkts. Die ChooseFont-Funktion legt diesen Wert fest, nachdem der Benutzer das Dialogfeld geschlossen hat.

Flags

Art: DWORD

Eine Reihe von Bitflags, die Sie verwenden können, um das Dialogfeld Schriftart zu initialisieren. Wenn das Dialogfeld zurückgibt, legt es diese Flags fest, um die Benutzereingabe anzugeben. Bei diesem Member kann es sich um einen oder mehrere der folgenden Werte handeln.

Wert Bedeutung
CF_APPLY
0x00000200L
Bewirkt, dass im Dialogfeld die Schaltfläche Anwenden angezeigt wird. Sie sollten eine Hookprozedur bereitstellen, um WM_COMMAND Nachrichten für die Schaltfläche Anwenden zu verarbeiten. Die Hookprozedur kann die WM_CHOOSEFONT_GETLOGFONT Nachricht an das Dialogfeld senden, um die Adresse der Struktur abzurufen, die die aktuelle Auswahl für die Schriftart enthält.
CF_ANSIONLY
0x00000400L
Dieses Flag ist veraltet. Verwenden Sie CF_SCRIPTSONLY, um die Schriftartauswahl auf alle Skripts außer den Skripts zu beschränken, die den OEM- oder Symbolzeichensatz verwenden. Um das ursprüngliche CF_ANSIONLY-Verhalten abzurufen, verwenden Sie CF_SELECTSCRIPT , und geben Sie ANSI_CHARSET im lfCharSet-Element der LOGFONT-Struktur an, auf die von lpLogFont verwiesen wird.
CF_BOTH
0x00000003
Dieses Flag wird für die Schriftartenaufzählung ignoriert.

Windows Vista und Windows XP/2000: Bewirkt, dass das Dialogfeld die verfügbaren Drucker- und Bildschirmschriftarten auflistet. Das hDC-Element ist ein Handle für den Gerätekontext oder informationskontext, der dem Drucker zugeordnet ist. Dieses Flag ist eine Kombination aus CF_SCREENFONTS und CF_PRINTERFONTS Flags.

CF_EFFECTS
0x00000100L
Bewirkt, dass das Dialogfeld die Steuerelemente anzeigt, die es dem Benutzer ermöglichen, Optionen für Streichen, Unterstrichen und Textfarbe anzugeben. Wenn dieses Flag festgelegt ist, können Sie das rgbColors-Element verwenden, um die anfängliche Textfarbe anzugeben. Sie können die Elemente lfStrikeOut und lfUnderline der Struktur verwenden, auf die von lpLogFont verwiesen wird, um die Anfangseinstellungen der Kontrollkästchen strikeout und unterstrichen anzugeben. ChooseFont kann diese Elemente verwenden, um die Auswahl des Benutzers zurückzugeben.
CF_ENABLEHOOK
0x00000008L
Aktiviert die Hookprozedur, die im lpfnHook-Member dieser Struktur angegeben ist.
CF_ENABLETEMPLATE
0x00000010L
Gibt an, dass die Mitglieder hInstance und lpTemplateName eine Dialogfeldvorlage angeben, die anstelle der Standardvorlage verwendet werden soll.
CF_ENABLETEMPLATEHANDLE
0x00000020L
Gibt an, dass das hInstance-Element einen Datenblock identifiziert, der eine vorab geladene Dialogfeldvorlage enthält. Das System ignoriert den lpTemplateName-Member , wenn dieses Flag angegeben ist.
CF_FIXEDPITCHONLY
0x00004000L

ChooseFont sollte nur Schriftarten mit fester Tonhöhe aufzählen und die Auswahl zulassen.

CF_FORCEFONTEXIST
0x00010000L

ChooseFont sollte eine Fehlerbedingung angeben, wenn der Benutzer versucht, eine Schriftart oder Formatvorlage auszuwählen, die nicht im Dialogfeld aufgeführt ist.

CF_INACTIVEFONTS
0x02000000L

ChooseFont sollte zusätzlich Schriftarten anzeigen, die auf In Schriftarten Systemsteuerung ausblenden festgelegt sind.

Windows Vista und Windows XP/2000: Dieses Flag wird erst unter Windows 7 unterstützt.

CF_INITTOLOGFONTSTRUCT
0x00000040L

ChooseFont sollte die Struktur verwenden, auf die das lpLogFont-Element verweist, um die Dialogfeldsteuerelemente zu initialisieren.

CF_LIMITSIZE
0x00002000L

ChooseFont sollte nur Schriftgrößen innerhalb des von den nSizeMin- und nSizeMax-Elementen angegebenen Bereichs auswählen.

CF_NOOEMFONTS
0x000000800L
Identisch mit dem CF_NOVECTORFONTS-Flag .
CF_NOFACESEL
0x00080000L
Wenn Sie eine LOGFONT-Struktur zum Initialisieren der Dialogfeldsteuerelemente verwenden, verwenden Sie dieses Flag, um zu verhindern, dass das Dialogfeld eine anfängliche Auswahl für das Kombinationsfeld Schriftartname anzeigt. Dies ist nützlich, wenn kein einzelner Schriftartname für die Textauswahl gilt.
CF_NOSCRIPTSEL
0x00800000L
Deaktiviert das Kombinationsfeld Skript . Wenn dieses Flag festgelegt ist, wird das lfCharSet-Element der LOGFONT-Struktur auf DEFAULT_CHARSET festgelegt, wenn ChooseFont zurückgibt. Dieses Flag wird nur verwendet, um das Dialogfeld zu initialisieren.
CF_NOSIMULATIONS
0x00001000L

ChooseFont sollte keine Schriftartsimulationen anzeigen oder zulassen.

CF_NOSIZESEL
0x00200000L
Wenn Sie eine Struktur zum Initialisieren der Dialogfeldsteuerelemente verwenden, verwenden Sie dieses Flag, um zu verhindern, dass das Dialogfeld eine erste Auswahl für das Kombinationsfeld Schriftgrad anzeigt. Dies ist nützlich, wenn kein einzelner Schriftgrad für die Textauswahl gilt.
CF_NOSTYLESEL
0x00100000L
Wenn Sie eine LOGFONT-Struktur zum Initialisieren der Dialogfeldsteuerelemente verwenden, verwenden Sie dieses Flag, um zu verhindern, dass das Dialogfeld eine erste Auswahl für das Kombinationsfeld Schriftartformat anzeigt. Dies ist nützlich, wenn es keine einzelne Schriftart gibt, die für die Textauswahl gilt.
CF_NOVECTORFONTS
0x000000800L

ChooseFont sollte keine Vektorschriftartenauswahl zulassen.

CF_NOVERTFONTS
0x010000000L
Bewirkt, dass im Dialogfeld Schriftart nur horizontal orientierte Schriftarten aufgelistet werden.
CF_PRINTERFONTS
0x00000002
Dieses Flag wird für die Schriftartenaufzählung ignoriert.

Windows Vista und Windows XP/2000: Bewirkt, dass das Dialogfeld nur die Schriftarten auflistet, die vom Drucker unterstützt werden, die dem geräte- oder informationskontext zugeordnet sind, der vom hDC-Member identifiziert wird. Außerdem wird die Bezeichnung der Schrifttypbeschreibung am unteren Rand des Dialogfelds Schriftart angezeigt.

CF_SCALABLEONLY
0x00020000L
Gibt an, dass ChooseFont nur die Auswahl skalierbarer Schriftarten zulassen soll. Skalierbare Schriftarten umfassen Vektorschriftarten, skalierbare Druckerschriftarten, TrueType-Schriftarten und von anderen Technologien skalierte Schriftarten.
CF_SCREENFONTS
0x00000001
Dieses Flag wird für die Schriftartenaufzählung ignoriert.

Windows Vista und Windows XP/2000: Bewirkt, dass das Dialogfeld nur die vom System unterstützten Bildschirmschriftarten auflistet.

CF_SCRIPTSONLY
0x00000400L

ChooseFont sollte die Auswahl von Schriftarten für alle Nicht-OEM- und Symbolzeichensätze sowie den ANSI-Zeichensatz zulassen. Dadurch wird der CF_ANSIONLY Wert ersetzt.

CF_SELECTSCRIPT
0x00400000L
Wenn sie für die Eingabe angegeben werden, werden nur Schriftarten angezeigt, deren Zeichensatz im lfCharSet-Element der LOGFONT-Struktur identifiziert ist. Der Benutzer darf den im Kombinationsfeld Skripts angegebenen Zeichensatz nicht ändern.
CF_SHOWHELP
0x00000004L
Bewirkt, dass das Dialogfeld die Schaltfläche Hilfe anzeigt. Das hwndOwner-Element muss das Fenster angeben, in dem die registrierten HELPMSGSTRING-Nachrichten empfangen werden, die das Dialogfeld sendet, wenn der Benutzer auf die Schaltfläche Hilfe klickt.
CF_TTONLY
0x00040000L

ChooseFont sollte nur die Auswahl von TrueType-Schriftarten auflisten und zulassen.

CF_USESTYLE
0x00000080L
Das lpszStyle-Element ist ein Zeiger auf einen Puffer, der Formatdaten enthält, die ChooseFont zum Initialisieren des Kombinationsfelds Schriftartformat verwenden sollte. Wenn der Benutzer das Dialogfeld schließt, kopiert ChooseFont Formatdaten für die Auswahl des Benutzers in diesen Puffer.
Hinweis Um Ihre Anwendung zu globalisieren, sollten Sie den Stil mithilfe der Elemente lfWeight und lfItalic der LOGFONT-Struktur angeben, auf die von lpLogFont verwiesen wird. Der Formatname kann sich je nach Sprache der Systembenutzerschnittstelle ändern.
 
CF_WYSIWYG
0x00008000L
Veraltet. ChooseFont ignoriert dieses Flag.

Windows Vista und Windows XP/2000: ChooseFont sollte nur die Auswahl der Schriftarten zulassen, die sowohl auf dem Drucker als auch auf dem Display verfügbar sind. Wenn dieses Flag angegeben wird, sollten auch die CF_SCREENSHOTS - und CF_PRINTERFONTS- oder CF_BOTH-Flags angegeben werden.

rgbColors

Typ: COLORREF

Wenn das CF_EFFECTS-Flag festgelegt ist, gibt rgbColors die anfängliche Textfarbe an. Wenn ChooseFont erfolgreich zurückgegeben wird, enthält dieses Element den RGB-Wert der vom Benutzer ausgewählten Textfarbe. Um einen COLORREF-Farbwert zu erstellen, verwenden Sie das RGB-Makro .

lCustData

Typ: LPARAM

Anwendungsdefinierte Daten, die das System an die Hookprozedur übergibt, die vom lpfnHook-Element identifiziert wird. Wenn das System die WM_INITDIALOG Nachricht an die Hookprozedur sendet, ist der lParam-Parameter der Nachricht ein Zeiger auf die CHOOSEFONT-Struktur , die beim Erstellen des Dialogfelds angegeben wurde. Die Hookprozedur kann diesen Zeiger verwenden, um den Wert lCustData abzurufen.

lpfnHook

Typ: LPCFHOOKPROC

Ein Zeiger auf eine CFHookProc-Hookprozedur , die nachrichten verarbeiten kann, die für das Dialogfeld vorgesehen sind. Dieses Element wird ignoriert, es sei denn, das CF_ENABLEHOOK-Flag ist im Flags-Element festgelegt.

lpTemplateName

Typ: LPCTSTR

Der Name der Dialogfeldvorlagenressource in dem Modul, das vom hInstance-Member identifiziert wird. Diese Vorlage wird durch die Standarddialogfeldvorlage ersetzt. Für nummerierte Dialogfeldressourcen kann lpTemplateName ein Wert sein, der vom MAKEINTRESOURCE-Makro zurückgegeben wird. Dieses Element wird ignoriert, es sei denn, das CF_ENABLETEMPLATE-Flag ist im Flags-Element festgelegt.

hInstance

Typ: HINSTANCE

Wenn das flag CF_ENABLETEMPLATEHANDLE im Flags-Element festgelegt ist, ist hInstance ein Handle für ein Speicherobjekt, das eine Dialogfeldvorlage enthält. Wenn das flag CF_ENABLETEMPLATE festgelegt ist, ist hInstance ein Handle für ein Modul, das eine Dialogfeldvorlage mit dem Namen des lpTemplateName-Members enthält. Wenn weder CF_ENABLETEMPLATEHANDLE noch CF_ENABLETEMPLATE festgelegt ist, wird dieser Member ignoriert.

lpszStyle

Typ: LPTSTR

Die Formatdaten. Wenn das CF_USESTYLE-Flag angegeben ist, verwendet ChooseFont die Daten in diesem Puffer, um das Kombinationsfeld Schriftformat zu initialisieren. Wenn der Benutzer das Dialogfeld schließt, kopiert ChooseFont die Zeichenfolge im Kombinationsfeld Schriftartformat in diesen Puffer.

nFontType

Typ: WORD

Der Typ der ausgewählten Schriftart, wenn ChooseFont zurückgibt. Bei diesem Member kann es sich um einen oder mehrere der folgenden Werte handeln.

Wert Bedeutung
BOLD_FONTTYPE
0x0100
Die Schriftstärke ist fett. Diese Informationen werden im lfWeight-Member der LOGFONT-Struktur dupliziert und entsprechen FW_BOLD.
ITALIC_FONTTYPE
0x0200
Das Attribut der kursiv geschriebenen Schriftart ist festgelegt. Diese Informationen werden im lfItalic-Member der LOGFONT-Struktur dupliziert.
PRINTER_FONTTYPE
0x4000
Die Schriftart ist eine Druckerschriftart.
REGULAR_FONTTYPE
0x0400
Die Schriftstärke ist normal. Diese Informationen werden im lfWeight-Member der LOGFONT-Struktur dupliziert und entsprechen FW_REGULAR.
SCREEN_FONTTYPE
0x2000
Die Schriftart ist eine Bildschirmschriftart.
SIMULATED_FONTTYPE
0x8000
Die Schriftart wird von der Grafikgeräteschnittstelle (GDI) simuliert.

___MISSING_ALIGNMENT__

nSizeMin

Typ: INT

Der kleinste Schriftgrad, den der Benutzer auswählen kann. ChooseFont erkennt diesen Member nur, wenn das flag CF_LIMITSIZE angegeben ist.

nSizeMax

Typ: INT

Der größte Schriftgrad, den der Benutzer auswählen kann. ChooseFont erkennt diesen Member nur, wenn das flag CF_LIMITSIZE angegeben ist.

Hinweise

Hinweis

Der commdlg.h-Header definiert CHOOSEFONT als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht Codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Kopfzeile commdlg.h

Weitere Informationen

ChooseFont

Allgemeine Dialogfeldbibliothek

Konzept

MAKEINTRESOURCE

Referenz