Wie kann ich eine schriftart anzugeben, die für ein Fenster erstellt durch CreateWindow?
Ich bin das erzeugen von Fenstern mit reiner Win32 API (RegisterClass und CreateWindow Funktionen). Wie kann ich eine schriftart anzugeben, die für die Fenster statt der system definiert?
InformationsquelleAutor | 2008-10-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie erstellen Sie Ihre eigenen window-Klasse, Sie sind verantwortlich für die Verwaltung der schriftart selbst. Diese Aufgabe wird aus vier teilen:
InformationsquelleAutor Matthew Xavier
Als vividos sagte nur verwenden CreateFont()/CreateFontIndirect:
Und dann setzen Sie diese Schrift für Ihre Fenster/- Steuerung mit der WM_SETFONT Nachricht:
InformationsquelleAutor Bob Jones
In Fall, dass Sie Oberklasse eine standard-common-Steuerelement, das hat schon seine eigene schriftart behandeln, diesen Ansatz verwenden: erstellen Sie Einfach eine schriftart, die mit
CreateFont
oderCreateFontIndirect
und legen Sie es mithilfe derWM_SETFONT
Nachricht (in MFC und ATL, es würde eine entsprechendeSetFont
- Funktion). Wenn die schriftart nicht mehr benötigt wird, zerstören Sie die Schrift mitDeleteObject
. Werden Sie sicher, dass Sie nicht zerstören die Fenster die zuvor eingestellte schriftart.In den Fall, Sie schreiben ein benutzerdefiniertes Steuerelement, das zieht sich, erstellen Sie einfach ein neues font-Objekt mit
CreateFont
oderCreateFontIndirect
auf und speichern es in Ihrer Klasse irgendwo. Wenn Sie möchten, Unterstützung von DRITTHERSTELLER-Benutzern, GriffWM_SETFONT
undWM_GETFONT
zu lassen, dem Benutzer das festlegen einer anderen schriftart. Beim malen, verwenden Sie das aktuelle font-Objekt gespeichert in Ihrer Klasse.WM_SETFONT wird nur behandelt, von standard/common controls. Wenn Andrei ist die Schaffung einer Marke neue Klasse (er hat erwähnt RegisterClass), die er zu beachten hat Matthew Xavier Richtlinien.
Danke, ich aktualisierte die Antwort entsprechend. Dank Matthew Xavier, deine Antwort ist richtig, auch.
InformationsquelleAutor vividos