Probleme mit Resourcen (Erstellen eines modalen Dialoges funktioniert nicht)
-
Hallo,
Ich arbeite mich gerade in das Thema Resourcen ein und versuche jetzt einen modalen Dialog zu erstellen. Allerdings funktioniert das nicht richtig. Es erscheint einfach kein Dialog. Hier mein Code für die Resource (von Weditres erstellt):
Auszug aus der Resource-Datei:
ID_ICON ICON DISCARDABLE "D:/Programmierung/C++/voclearn/voclearning.ico" IDD_DLG1 DIALOGEX 6,6,194,102 CAPTION "IDD_DLG" FONT 8,"MS Sans Serif" STYLE 0x10CF0000 EXSTYLE 0x00000000 BEGIN CONTROL "test",IDC_STC1,"Static",0x50000000,60,16,78,13,0x00000000 ENDHier der Aufruf des Dialoges:
DialogBox(hinstance, TEXT("IDD_DLG1"), hwnd, (DLGPROC) DialogAboutProc);Hier die DialogAboutProc
BOOL CALLBACK DialogAboutProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { switch (msg) { case WM_INITDIALOG: return (TRUE); case WM_CLOSE: case WM_DESTROY: EndDialog (hwnd, 0); return (TRUE); } return (FALSE); }Eine Aufschlüsselung von GetLastError() direkt hinter DialogBox() sagt: "Der angebene Resourcenname wurde nicht in der Image-Datei gefunden" (Fehlernummer: 1814)
Hat einer eine Ahnung woran das liegen kann?
-
IDD_DLG1 ist sicherlic hein #define für einen numerischen wert? Dann MAKEINTRESOURCE
-
Ich habe jetzt:
DialogBox(hinstance, TEXT("IDD_DLG1"), hwnd, (DLGPROC) DialogAboutProc);durch
DialogBox(hinstance, MAKEINTRESOURCE("IDD_DLG1"), hwnd, (DLGPROC) DialogAboutProc);ersetzt und es geht nicht. Außerdem steht in meinem Petzhold der DialogBox Aufruf mit TEXT("xy").
-
Es geht jetzt
,ich darf den Parameter von MAKEINTRESOURCE nicht in "" setzen.Aber hat vielleicht einer eine Idee warum das in meinem Buch mit TEXT("xy") steht?
(Windows Programmierung, Auflage 5, Autor: Charles Petzold)
-
Resourcen können auf zwei Arten identifiziert werden:
- einen Integer (< 65536)
- einen Namen
-
Und wie macht man das dann mit einem Namen?
Also ich meine wie muss man die Resource Datei anpassen?
-
Dann mußt du den namen in der resourcendatei auch in Gänsefüße setzen:
"IDD_DLG1" DIALOGEX 6,6,194,102(glaub ich zumindest
)