Kann man eine Messagebox nicht vbModal anzeigen?

23/01/2009 - 15:24 von Susann Markward | Report spam
Hallo,

kann man eigentlich eine MsgBox auch so anzeigen lassen, dass der
auslösende Prozess im Hintergrund weiterlàuft?

z.Z. ist dafür in meinem Code eine Eigenkreation am Werkeln. Schöner
wàre es jedoch, wenn man dafür VB oder Windows-Mittel verwenden könnte.

Geht das?

MfG
Susann
 

Lesen sie die antworten

#1 Christian Zimmermann
23/01/2009 - 16:46 | Warnen spam
Hallo Susann,

Susann Markward schrieb:

kann man eigentlich eine MsgBox auch so anzeigen lassen, dass der
auslösende Prozess im Hintergrund weiterlàuft?

z.Z. ist dafür in meinem Code eine Eigenkreation am Werkeln. Schöner
wàre es jedoch, wenn man dafür VB oder Windows-Mittel verwenden könnte.



Z. B. per API mit MessageBoxEx(). Die aufrufende Form bleibt weiterhin
bedienbar (erster Parameter hWnd bekommt 0&). Du mußt allerdings
beachten, dass der Code nach dem Aufruf der API-Funktion erst nach dem
Wegklicken des Dialogs ausgeführt wird, da ja eine Rückgabe (was wurde
geklickt?) evt. ausgewertet werden muss und es keine Möglichkeit gibt,
eine Callback-Funktion anzugeben, die asynchron zum Erhalt des
Rückgabewertes aufgerufen werden würde.

Aufrufbeispiel:

MessageBoxEx 0&, "Form kann weiter bedient werden.", "Info",
MB_ICONINFORMATION Or MB_OK Or MB_APPLMODAL Or MB_TOPMOST, 0&

Besser wàre es vielleicht, wenn du anstatt des direkten Aufrufs eine
unsichtbare Form erzeugst und darin MessageBoxEx() aufrufst und dieser
unsichtbaren Form zuordnest. Damit würde auch beim Entladen der
unsichtbaren Form (z. B. Programmende) auch automatisch die MessageBox
entladen.

MessageBoxEx HiddenMsgForm.hwnd, "Form kann weiter bedient werden.",
"Info", MB_ICONINFORMATION Or MB_OK Or MB_APPLMODAL Or MB_TOPMOST, 0&

Gruß

Christian

Ähnliche fragen