RT_RCDATA in der VisualStudio GUI hinzufügbar?
-
Hallo, ich habe bereits eine zweite Frage.
In einem DirectX Programm versuche ich zur Zeit mit D3DXCreateTextureFromResource eine JPG Datei als Textur einzuladen. In der MSDN steht, das Bild muss als RT_RCDATA Resource vorliegen. Da scheinen die Recht zu haben, denn alle meine bisherigen Versuche schlugen fehl mit der Meldung "D3DXERR_INVALIDDATA". Ich habe in google gesucht aber es bleibt mir ein Mysterium wie man in der VS-IDE so eine RT_RCDATA Typ hinzufügt. Wenn ich auf dem Projekt rechtsklicke und dann "Resource hinzufügen" klicke, gibts nur sowas wie Accelerator, Bitmap, Menü, Cursor als Typen zur Auswahl. Auch hinter den Schaltflächen "Benutzerdefiniert" oder "Importieren" finde ich nichts was diesem RT_RCDATA auch nur ähnelt.
Der spätere Aufruf lautet übrigens so:
D3DXCreateTextureFromResource(meindev, GetModuleHandle(NULL), "IDR_JPG1", &meintex);
Wobei das ja wie gesagt immer schief geht.Danke
-
mikeem schrieb:
Der spätere Aufruf lautet übrigens so:
D3DXCreateTextureFromResource(meindev, GetModuleHandle(NULL), "IDR_JPG1", &meintex);
Wobei das ja wie gesagt immer schief geht.1. Das ist eine ID! Und kein Text unter der das abgelegt ist!
Mach Dir doch mal klar wie Ressourcen funktionieren. Es gibt IDs und Namen unter denen man Ressourcen erzeugen kann. Wenn Du selbst eine ID verwendest, dann musst Du das auch im Programm tun und das passiert mit MAKEINTRESOURCE:D3DXCreateTextureFromResource(meindev, GetModuleHandle(NULL), MAKEINTRESOURCE(IDR_JPG1), &meintex);2. Lies mal bitte:
http://blog.m-ri.de/index.php/2007/12/12/die-unsitte-immer-getmodulehandlenull-fuer-hinstance-in-createwindow-und-registerclass-zu-verwenden/GetModuleHandle kann schonb falsch sein, wenn es sich bei Deinem Moudl um eine DLL handelt.
Verwende bitte AfxGetResourceHandle oder AfxInstanceHandle, je nachdem was Du wirklich meinst!