MessageBox()
-
Ich weiß nicht genau, ob das hier hin oder ins WinAPI-Forum gehört. Ich aheb ein Fenster und zeichne mit OpenGL in den Client-Bereich. Wenn ich dann MessageBox() aufrufe sieht man nichts, bis man die Alt-Teste drückt. Dan erst erscheint die MessageBox(). Rufe ich einen Dialog mit DialogBox() auf, so erscheint diese direkt. Wie bekomme ich die MessageBox()en direkt in den Vordergrund?
-
gar nicht, außerdem was hat ne MessageBox in einer Spieleanwendung zu suchen? gar nix.
schreib dir ein Protokoll, dann hat sich das
-
Es macht sich schlecht, mit MessageBoxes die Fehlermeldung anzuzeigen.
Mach es einfach wie SeraDelta3 gesagt hat.
-
Eigentlich war von einer Spieleanwendung an sich nicht die Rede. Warum soll eine MessageBox() denn schlecht sein? Und wie soll ich dem benutzer einen Fehler beim z.B. Starten der Anwendung anzeigen?
-
Kann es sein, dass Du bei MessageBox() als ersten Parameter NULL angegeben hast? Wenn ja, versuch mal das hWnd vom Fenster anzugeben. Wenn nicht, hab ich auch kein Ahnung
-
Ich habe beides ausprobiert. Weder das Fenster noch 0 bringen ein vernünftiges Ergebnis.
-
Wenn du das Handle deines Fensters verwendest musst du zuerst dne hDC und hRC löschen (so wars bei mir jeden Falls glaub ich)
Außerdem kannst du noch das Handle vom Desktop probieren, ich glaube HWND_DESKTOP oder so heißt das, das müsste auch klappen
-
HWND_DESKTOP ist 0, d.h. es funktioniert auch nicht. Das mit dem Loeschen des DC und RC find ich nicht so gut, da ich zwischendurch auch mal ne MessageBox() ohne den Aufwand alles zu loeschen und wieder erstellen anzeigen.
-
Dann erstell "einfach" ein neues Fenster, auf das du dann den Focus setzt
-
Anonymous schrieb:
Eigentlich war von einer Spieleanwendung an sich nicht die Rede. Warum soll eine MessageBox() denn schlecht sein? Und wie soll ich dem benutzer einen Fehler beim z.B. Starten der Anwendung anzeigen?
Ja beim Starten ist das was anderes, aber während des Programmes ist es doch besser in ein Protokoll zuschreiben. Man könnte beim Shutdown, nachdem man die Bildschirmeinstellungen zurückgesetzt hat, nochmal einen Hinweis darauf geben.