Problem mit Windows-MessageBox
-
Hi,
ich habe ein kleines Beispielprogramm zur Windowsprogrammierung aus einem Tutorial geschrieben.
Hier der Code aus dem Tutorial:#include "stdafx.h" // Konstanten // ---------- // Messagebox-Stile const UINT awMBOXSTYLES[] = { MB_YESNOCANCEL, MB_ICONHAND, MB_ICONASTERISK, MB_ABORTRETRYIGNORE|MB_DEFBUTTON2, MB_APPLMODAL, MB_SYSTEMMODAL, MB_TASKMODAL }; // Messagebox-Texte LPCTSTR alpszMBOXSTYLES[] = { "MB_YESNOCANCEL", "MB_ICONHAND", "MB_ICONASTERISK", "MB_ABORTRETRYIGNORE|MB_DEFBUTTON2", "MB_APPLMODAL", "MB_SYSTEMMODAL", "MB_TASKMODAL" }; // Anzahl der Messageboxen const short nNOOFMSGBOX = sizeof(awMBOXSTYLES)/sizeof(UINT); int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { // ZU ERLEDIGEN: Fügen Sie hier den Code ein. // Alle Messageboxen ausgeben for (int iIndex=0; iIndex<nNOOFMSGBOX; iIndex++) MessageBox(0,alpszMBOXSTYLES[iIndex], (LPCTSTR)"MessageBox Typen", awMBOXSTYLES[iIndex]); return 0; }
Nach dem ich Fehlermeldungen bei der Definitionen der Strings (ab Zeile 16) erhalten habe, habe ich den Code etwas verändert.
Nun funktioniert das Programm zwar aber anstatt der Ausgabe der Titel und Captions sind da nur Nullbyte Zeichen!Hier mein Code:
// Windows_01.cpp : Definiert den Einstiegspunkt für die Anwendung. // #include "stdafx.h" //#include "Windows_01.h" //MsgBox-Stile const UINT MsgBox_Styles[] = { MB_YESNOCANCEL, MB_ICONHAND, MB_ICONASTERISK, MB_ABORTRETRYIGNORE|MB_DEFBUTTON2, MB_APPLMODAL, MB_SYSTEMMODAL, MB_TASKMODAL }; //Strings char* MsgBox_Strings[] = { "MB_YESNOCANCEL", "MB_ICONHAND", "MB_ICONASTERISK", "MB_ABORTRETRYIGNORE|MB_DEFBUTTON2", "MB_APPLMODAL", "MB_SYSTEMMODAL", "MB_TASKMODAL" }; const short MB_anz = sizeof(MsgBox_Styles)/sizeof(UINT); int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPreInstance, LPSTR lpCmdLine, int nShowCmd) { //Msg Boxen ausgeben for (int iIndex = 0; iIndex < MB_anz; iIndex++) MessageBox(0, (LPCTSTR)MsgBox_Strings[iIndex], (LPCTSTR)"MessageBox Typen", MsgBox_Styles[iIndex]); return 0; }
Kann mir da jemand helfen?
MfG.: Flori
-
Also bei mir funzts...
-
Ich rate einfach mal in's Blaue: Du hast die casts beim MessageBox-Aufruf eingebaut, weil sonst Fehlermeldungen kamen? Dann schau mal, ob dein Projekt auf Unicode statt auf Multibyte eingestellt ist und wenn ja, stell um.
-
danke es geht!!