DrawText Problem
-
Hallo @ all :D,
Habe ein kleines Problem, habe mir das Buch: DirectX 9 und Visual C++ von Christian Rouselle geholt, aber irgendwie hat der Autor den Fehler gemacht oder ich habe was vergessen...
Auf jeden fall Funktionieren die Programme mit DrawText nicht!!!
hier die Fehler:
// Größe des Rechtecks berechnen m_lpD3DFont->DrawText(Text, -1, &r, DT_CALCRECT, TextColor); // Text ausgeben m_lpD3DFont->DrawText(Text, -1, &r, DT_CENTER, TextColor);
Bedeutung:
Direct3D.cpp(108) : error C2660: 'DrawTextA' : Funktion akzeptiert keine 5 Parameter
// nach erfolgreichem Aufruf zeigt lpD3DFont // auf ein Objekt vom Typ D3DXFont D3DXCreateFontIndirect(m_lpD3DDevice, &LogFont, &m_lpD3DFont);
Bedeutung:
Direct3D.cpp(155) : error C2664: 'D3DXCreateFontIndirectA' : Konvertierung des Parameters 2 von 'struct tagLOGFONTA *' in 'const struct _D3DXFONT_DESCA *' nicht moeglich
Und wie es in der Header definiert ist
void DrawText(LPCSTR Text, int x, int y, D3DCOLOR TextColor);
Bitte um Hilfe
THX im Vorraus!
Compiler Status:Visual C++ Enterprise Edition!
-
schau mal in der DirectX Docu nach, diese methoden haben seit DXSDK 9b andere para'meter
-
Kann es sein, das du ID3DXFont und CD3DFont verwechselst?
Bye, TGGC (Der Held ist zurück)
-
Weiss nun den Fehler...
War genau wie das Dönertier sagte...
Die Methode hat andere Parameter bekommen...
Nun muss ich sehen was ich mache...
Da ich Anfänger bin habe ich kein plan...
Naja ich werde sehen was sich machen lässt...
-
Einfach altes SDK benutzen?
Bye, TGGC (Der Held ist zurück)
-
TGGC kann ich den das alte runter laden?
Und wenn ja wo, direkt bei MicroSchrott?
Oder gibt es nur noch die Summer Edition?
-
spar dir den download
:
beispielcodeID3DXFont* ft; ... bool init() { ... // font erstellen HFONT hf = CreateFont( 12, 0, 0, 0, FW_NORMAL,0, 0, 0, DEFAULT_CHARSET, OUT_CHARACTER_PRECIS,CLIP_CHARACTER_PRECIS, DEFAULT_QUALITY,DEFAULT_PITCH | FF_DONTCARE, "Arial"); // hier sollte noch eine fehler abfrage hin D3DXCreateFont( device, hf, &ft ); ... } void drawText(const std::string &text) { RECT rc; // position festlegen SetRect(&rc, 10,10, 60, 22); ft->DrawTextA(text.c_str(), text.length(), &rc, DT_LEFT | DT_NOCLIP, 0xffff0000); } void render() { ... device->BeginScene(); // wichtig: geht nur zwischen begin und endscene drawText("Hallo"); device->EndScene(); .... } // aufräumen nicht vergessen void quit() { if ( ft != 0) ft->Release(); }
hoffentlich habe ich nichts vergessen :p
ist doch nicht wirklich schwer oder?
-
Naja du kennst mich nicht bin ein Anfänger was DirectX angeht...
Aber denke ich werde das hinkriegen..
Danke for Help
Muss das ja nur als eine Klassen Definition haben und dann in die CPP richtig umsetzen..
Auf Auf
-
Igorr schrieb:
TGGC kann ich den das alte runter laden? Und wenn ja wo, direkt bei MicroSchrott?
Weiss ich nicht, kenne "MicroSchrott" nicht.
Bye, TGGC (Der Held ist zurück)
-
TGGC meinte Microsoft!!
Habe auf derren seite nichts ueber das alte SDK gefunden...!
-
http://www.icarusindie.com/devzone/dxbrowse.php
Schau mal hier.