JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=afa6b627f59117bac5a5156e29bf8042Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Problem mit DrawText

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Jakozk
Junior JLI'ler



Anmeldedatum: 16.05.2004
Beiträge: 88
Wohnort: Berlin
Medaillen: Keine

BeitragVerfasst am: 07.04.2007, 14:26    Titel: Problem mit DrawText Antworten mit Zitat

Hallo alle zusammen.
Ich sitze z.Z vor einem mehr oder weniger großen Problem und ich weiss mir net zu helfen. Ich habe aus Kapitel 20 das LoadSurface Projekt und möchte dies nun compilieren. Doch ich bekomme immer 3 Fehler die ich einfach net weg bekomme und bis jetzt konnte mir keiner richtig helfen.

Errors
Code:
.\DIRECT3D.CPP(113) : error C2660: 'ID3DXFont::DrawTextA': Funktion akzeptiert keine 5 Argumente
.\DIRECT3D.CPP(116) : error C2660: 'ID3DXFont::DrawTextA': Funktion akzeptiert keine 5 Argumente
.\DIRECT3D.CPP(166) : error C2664: 'D3DXCreateFontIndirectA': Konvertierung des Parameters 2 von 'LOGFONT *' in 'const D3DXFONT_DESCA *' nicht möglich
        Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.


und hier der betrefende code:
CPP:
void CDirect3D::DrawText(LPCSTR Text, int x, int y, D3DCOLOR TextColor)
{
    RECT r = { x, y, 0, 0 };

    // 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); 
}


CPP:
void CDirect3D::CreateFont(void)
{
    // Struktur für die Beschreibung der Schriftart
    // anlegen und Elemente mit 0 initialisieren
    LOGFONT    LogFont = { 0 };

    // das Element lfFaceName muss den Namen der
    // gewünschten Schriftart enthalten
    strcpy(LogFont.lfFaceName, "Arial");

    // nach erfolgreichem Aufruf zeigt lpD3DFont
    // auf ein Objekt vom Typ D3DXFont
    D3DXCreateFontIndirect(m_lpD3DDevice,
                           &LogFont,
                           &m_lpD3DFont);
}


Ich benutze Visual c++ 2005 Express Edition mit dem Dx SDK Feb. 2007.
Eingetragene Libs : dxguid.lib d3d9.lib d3dx9.lib
Wäre sehr geil wenn ihr mir helfen könntet.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 07.04.2007, 16:48    Titel: Antworten mit Zitat

Schon mal in die Doku geschaut?
Also, IMHO haben die zwischendurch mal einfach die Schnittstelle geändert, da ich noch das etwas ältere DX SDK habe, steht das bei mir aber noch nicht drinne.
Einfach mal die Doku aufrufen und dann:
DirectX Graphics -> Reference -> Direct3D Extension -> Interfaces -> ID3DXFont -> DrawText

Da sind dann alle Parameter mit Bedeutungen angegeben. So solltest du den Fehler finden können.
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Asto
JLI'ler


Alter: 37
Anmeldedatum: 30.05.2007
Beiträge: 114
Wohnort: Dortmund
Medaillen: Keine

BeitragVerfasst am: 31.05.2007, 14:00    Titel: Re: Problem mit DrawText Antworten mit Zitat

Nach dem Motto besser spät als nie:
Mit dem DX9 SDK April 2007 muss das so aussehen:

[...]
CPP:
// Größe des Rechtecks berechnen
    m_lpD3DFont->DrawText(NULL, Text, -1, &r, DT_CALCRECT, TextColor);

    // Text ausgeben
    m_lpD3DFont->DrawText(NULL, Text, -1, &r, DT_CENTER, TextColor);
[...]

und

[...]
CPP:
D3DXFONT_DESCA   LogFont = { 0 };

    // das Element lfFaceName muss den Namen der
    // gewünschten Schriftart enthalten
    strcpy_s(LogFont.FaceName, "Arial");
[...]

Smile
_________________
"A programmer started to cuss, Because getting to sleep was a fuss, As he lay there in bed, Looping 'round in his head, was: while(!asleep()) sheep++;", Unbekannt
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum