Eigene Font bei CreateFont
-
*push*?
-
*pushpush*?
-
Wie sieht denn dein Code aus? Hast du denn AddFontResource bzw. AddFontMemResourceEx vor dem Aufruf von CreateFont benutzt?
-
Ja.
Der Code ist einfach nur der Bsp-Code.
Eine Font ge'addet' und den Namen der Font dann in CreateFont benutzt
-
aber das hat nicht funktioniert..
Und was genau funktioniert jetzt nicht? Was hast du denn mit dem Font dann gemacht? Muß man dir alles aus der Nase ziehen? Ich muß mir wohl doch wieder eine Glaskugel zulegen -)
-
/*FONT-LOAD FUNKTION*/ HFONT my_font; BOOL My_LoadFontResource(void) { HRSRC ResourceInfo; DWORD ResourceSize; HGLOBAL ResourceHandle; LPVOID *ResourceData; DWORD nFont; ResourceInfo = FindResource(NULL, MAKEINTRESOURCE(IDR_FONT1), MAKEINTRESOURCE(8)); if(!ResourceInfo) { MessageBox(NULL, "Nicht gefunden", 0, 0); return FALSE; } else { MsgBox(NULL, "Gefunden!", 0, 0); ResourceSize = SizeofResource(NULL, ResourceInfo); ResourceHandle = LoadResource(NULL, ResourceInfo); ResourceData = LockResource(ResourceHandle); my_font = AddFontMemResourceEx(ResourceData, ResourceSize, 0, &nFont); return my_font; } /*FONT BENUTZEN*/ if(My_LoadFontResource()) { MessageBox(NULL, "gut",0,0); SelectObject(hDC(), My_LoadFontResource()); } /*ODER*/ SelectObject(hDC, CreateFont(12, 0, 0, 0, 0, 0, 0, 0, OEM_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, FIXED_PITCH | FF_MODERN, "FONTNAME"));
So habe ich das, und beide Font-Benutzen-Methoden haben nicht funktioniert
-
Und dann schreibe ich etwas mit TextOut.
Das Ergebnis ist das gleiche, wie wenn ich bei dem Namen der Font in CreateFont einen leeren String angebe..
Irgend so eine Standard Font..
-
Jetzt habe ich doch den benutzten Code gepostet
-
Irgendeiner muss doch wissen, wie das funktioniert
-
*hust*
-
Weiß das echt keiner?
-
/*FONT-LOAD FUNKTION*/ HFONT my_font; BOOL My_LoadFontResource(void) { HRSRC ResourceInfo; DWORD ResourceSize; HGLOBAL ResourceHandle; LPVOID *ResourceData; DWORD nFont; ResourceInfo = FindResource(NULL, MAKEINTRESOURCE(IDR_FONT1), MAKEINTRESOURCE(8)); if(!ResourceInfo) { MessageBox(NULL, "Nicht gefunden", 0, 0); return FALSE; } else { MsgBox(NULL, "Gefunden!", 0, 0); ResourceSize = SizeofResource(NULL, ResourceInfo); ResourceHandle = LoadResource(NULL, ResourceInfo); ResourceData = LockResource(ResourceHandle); my_font = AddFontMemResourceEx(ResourceData, ResourceSize, 0, &nFont); return my_font; } /*FONT BENUTZEN*/ if(My_LoadFontResource()) { MessageBox(NULL, "gut",0,0); SelectObject(hDC(), My_LoadFontResource()); } /*ODER*/ SelectObject(hDC, CreateFont(12, 0, 0, 0, 0, 0, 0, 0, OEM_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, FIXED_PITCH | FF_MODERN, "FONTNAME"));
Dann TextOut benutzen und die benutzte Font wird eine Standard-Font sein, die auch genutzt wird, wenn man keine Font bei CreateFont angibt.
-
Hier sind doch immer solche Profis
-
..........
-
in *.rc
TTF_FONT1 SCHRIFT DISCARDABLE ".\\fonts\\font1.ttf"
in *.cpp
ResourceInfo = FindResource(NULL, MAKEINTRESOURCE(IDR_FONT1), "SCHRIFT");
-
muss natürlich heissen:
ResourceInfo = FindResource(NULL, MAKEINTRESOURCE(TTF_FONT1), "SCHRIFT");
-
Funktioniert leider trotzdem nicht.
Außerdem habe ich das als Font-Resource Hinzugefügt.
RT_FONT ist ein Makro für 8.
Somit funktioniert auch MAKEINTRESOURCE(8)Trotzdem vielen Dank für deine Bemühungen!
-
Bei Google habe ich auch nichts gefunden
-
Weiß dazu keiner etwas?
-
So laaaaaangsam verzweifle ich...
Ich habe schon alles ausprobiert, was mir einfiel und es hat trotzdem nichts genützt..