MessageBox

fujitsufan

Erfahrenes Mitglied
Hallo,
ist es möglich eine MessageBox vor dem Aufruf auf eine bestimmte Breite einzustellen?
Diese Rufe ich folgendermaßen auf:

char cFehlerText[256] = "Der Fehler steckt im Detail";

MessageBox(NULL, cFehlerText, "F E H L E R !, MB_OK);

Wenn der Text (cFehlerText) für die Meldung länger wird, so wird das Fenster nicht groß genug erstellt.
Somit wird automatisch ein Zeilenumbruch eingefügt.

Kann man diesen Zeilenumbruch verhindern?

MfG.
fujitsufan
 
Hi

mit dieser Standard-Messagebox von Windows geht das nicht.
Ein eigenes Fenster ist da nötig.
 
Hallo sheel,
das dachte ich mit fast.
Aber trotzdem vielen Dank!
Ein eigenes Fenster habe ich erstellt.
Ist immer mit Arbeit und Fehlern verbunden.
Wenn es Standards gibt verwende ich gerne diese, wenn nicht dann nicht.

MfG.
fujitsufan
 
Hallo fujitsufan,

es ginge schon, aber ob das schöner ist, als einen eigenen Dialog zu erstellen ist mMn fraglich (hätte aber den Vorteil, dass die User Experience näher am Original ist, auch im Hinblick auf neuere Windows Versionen und du eine standardkomforme Ansprechweise (MB_OK, MessageBox(), ..) erreichst): Du kannst einen Hook erstellen der in die Messagebox eingreift. Dann kannst du verändern, was du willst. Auf die Weise kannst du alle WinAPI Controlls modifizieren.
Hier hat scheinbar jemand sowas gemacht (nicht näher angeschaut): http://alax.info/blog/127
Stichworte wären hier SetWindowsHookEx und Subclassing.

Aber wie gesagt, da das auch alles andere als Standard ist (und aufwendig und nicht direkt intuitiv), würde ich wohl bei deinem (zumal schon erstellten) Dialog bleiben.

VG
k
 
Zurück