[GDI+] Problem mit Font

Cromon

Erfahrenes Mitglied
Hallo zusammen!

Ich lade aus einer DLL heraus eine Resource, die eine Font darstellt. Davon versuche ich ein Objekt Gdiplus::Font zu erstellen, momentan leider noch ohne Erfolg! Mache ich das selbe mit CreateFont und dann mit den alten Sachen (SelectObject und TextOut), so klappt alles. Installiere ich die Font manuell über die TTF-Datei, gehts auch!

C++:
void Renderer::LoadResources()
{
	m_wndBack = sResource.GetImage(L"Graphics\\Background.img");
	ResourceStream* pStrm = sResource.GetBinary(L"UI\\MainFont.fnt");
	DWORD dwNumFonts = 1;
	AddFontMemResourceEx(pStrm->Lock(), pStrm->GetSize(), NULL, &dwNumFonts);
	//hFont = CreateFontA(12, 24, 0, 0, FW_BOLD, FALSE, FALSE, FALSE, 0, OUT_TT_PRECIS, CLIP_DEFAULT_PRECIS, ANTIALIASED_QUALITY, DEFAULT_PITCH, "Space Age");
	pStrm->Free();
	delete pStrm;
	FontFamily fam(L"Space Age");
	Status stat = fam.GetLastStatus();
	m_hudFont = new Font(&fam, 18);
	m_hudBrush = new SolidBrush(Color(255, 255, 0));
}

void Renderer::RenderScene(HDC hDc)
{
	if(!m_wndBack)
		return;
	Graphics g(hDc);
	g.DrawImage(m_wndBack, PointF(0, 0));
	g.DrawString(L"Punkte: 225", -1, m_hudFont, PointF(20, 20), NULL, m_hudBrush);
	//SelectObject(hDc, hFont);
	//TextOut(hDc, 100, 100, L"Punkte: 255", 5);
}

Das Kommentierte funktioniert, der Text wird in der Font gezeichnet, das über GDI+ funktioniert nicht, nicht wird gezeichnet und fam.GetLastStatus sagt "FamilyNotFound".

Wo liegt denn hier der Hase begraben?

Gruss
Cromon
 
Zurück