Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hi!

Ich hab mal wieder ne Frage:

Wie kann in in Visual C++ meine Fonts (Schriftarten) die auf meim System gespeichert sind einlesen und in einer Dialogbasierten Anwendung in Form einer Liste wieder ausgeben????

Wär net schlecht, wenn mir jemand weiter helfen könnte!

DANKE!:);)

Geschrieben

Also damit kannst Du direkte Pixelfonts von den Systemfonts auslesen und direkt verwenden:

Einfach ein CFont Objekt erzeugen und dann CreatePointFont entsprechend dafür aufrufen. Wie das mit der Enumeration genau funktioniert hab ich noch nicht probiert, aber damit kannst Du dann alle zur Verfügung stehenden Fonts namentlich bekommen.

CFont::CreatePointFont

BOOL CreatePointFont( int nPointSize, LPCTSTR lpszFaceName, CDC* pDC = NULL );

Return Value

Nonzero if successful, otherwise 0.

Parameters

nPointSize

Requested font height in tenths of a point. (For instance, pass 120 to request a 12-point font.)

lpszFaceName

A CString or pointer to a null-terminated string that specifies the typeface name of the font. The length of this string must not exceed 30 characters. The Windows EnumFontFamilies function can be used to enumerate all currently available fonts. If lpszFaceName is NULL, the GDI uses a device-independent typeface.

pDC

Pointer to the CDC object to be used to convert the height in nPointSize to logical units. If NULL, a screen device context is used for the conversion.

und hier noch für die Enumeration:

EnumFontFamilies

The EnumFontFamilies function enumerates the fonts in a specified font family that are available on a specified device.

EnumFontFamilies and EnumFontFamProc are maintained for compatibility with 16-bit versions of Windows. Win32-based applications should call the EnumFontFamiliesEx function.

int EnumFontFamilies(

HDC hdc, // handle to device control

LPCTSTR lpszFamily, // pointer to family-name string

FONTENUMPROC lpEnumFontFamProc,

// pointer to callback function

LPARAM lParam // pointer to application-supplied data

);

Parameters

hdc

Handle to the device context.

lpszFamily

Pointer to a null-terminated string that specifies the family name of the desired fonts. If lpszFamily is NULL, EnumFontFamilies randomly selects and enumerates one font of each available type family.

lpEnumFontFamProc

Specifies the procedure-instance address of the application-defined callback function. For information about the callback function, see EnumFontFamProc.

lParam

Pointer to application-supplied data. The data is passed to the callback function along with the font information.

Geschrieben

Will sie ja in einer Liste ausgeben....etwas anderes macht CFontDialog auch nicht.

Wenn er die Namen irgendwie speichern will etc. dann geht das aber über CFontdialog auch, nur etwas umständlich, aber mich würde interessieren wo man sowas denn braucht????

Geschrieben

Z.B. wenn man den voreingestellten Zeichensatz auf der Zielmaschine nicht vorliegen hat. Ein Kumpel von mir macht gerade für eine Versicherung eine Oberfläche, welche aber bei einem mit W95 ausgestatteten Laptop lustigerweise WingDings benutzt, weil der verwendete Zeichensatz offensichtlich dort nicht installiert war. Da kann eine Zeichensatzauswahl fürs Programm schon hilfreich sein. Aber stimmt schon - mit CFontDialog spart man sich einiges an Arbeit.

Geschrieben

HI!

Ich brauch das, um die Namen,der auf dem System vorhandenen Schriftarten mit Schriftarten, die in einer .txt Datei gespeichert sind zu vergleichen!

Da wir ein Programm vertreiben, das bestimmte Schriftarten benötigt, um Daten auszuspielen und sie in einem Katalog anzuzeigen!

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...