Seite 1 von 2

MsgBox nicht blocken

Verfasst: 28.03.2018 13:30
von ¯\_(ツ)_/¯
Wenn ich ein MessageRequester in meinem Fenster starte dann blockt die Meldung
meine Anwendung. Kann ich die Meldung auch unabhängig starten ohne dass die
Meldung meine Anwendung blockt?

Re: MsgBox nicht blocken

Verfasst: 28.03.2018 13:34
von RSBasic
Es gibt mehrere Möglichkeiten.
Entweder erstelst du dein eigenes Fenster im selben Stil wie eine MessageBox.
Oder du rufst die MessageBox in einem Thread auf.
Oder du verwendest die WinAPI-Funktion MessageBox_(). Dort kannst du das Parent-Fenster oder 0 für kein Fenster angeben:

Code: Alles auswählen

MessageBox_(0, @"Titel", @"Nachricht", 0)

Re: MsgBox nicht blocken

Verfasst: 28.03.2018 15:18
von ¯\_(ツ)_/¯
Danke :) Gibts auch den PathRequester auch ohne Blockierung?

Re: MsgBox nicht blocken

Verfasst: 28.03.2018 15:22
von RSBasic
Ja: http://www.rsbasic.de/aktualisierung/wi ... esterEx.pb
In dem Beispielcode die folgende Zeile:

Code: Alles auswählen

bi\hwndOwner = GetActiveWindow_()
einfach durch:

Code: Alles auswählen

bi\hwndOwner = 0
ersetzen.

Re: MsgBox nicht blocken

Verfasst: 28.03.2018 15:30
von ¯\_(ツ)_/¯
Wieder Danke ! Ging schnell musste mich nicht mal abmelden. :D Wusst ichs doch
dass da gleich eine Lösung kommt. :D Hat sich gelohnt paar mal F5 zu drücken. :D
Sry ich muss wieder eine Frage stellen. Hast du auch was für OpenFileRequester?

Re: MsgBox nicht blocken

Verfasst: 28.03.2018 15:33
von RSBasic

Code: Alles auswählen

EnableExplicit

Define Filename$
Define OPENFILENAME.OPENFILENAME

OPENFILENAME\lStructSize = SizeOf(OPENFILENAME)
OPENFILENAME\hWndOwner = 0
OPENFILENAME\lpstrFile = @Filename$
OPENFILENAME\nMaxFile = #MAX_PATH
OPENFILENAME\Flags = #OFN_EXPLORER | #OFN_ENABLESIZING | #OFN_FILEMUSTEXIST

If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  
  If GetOpenFileName_(OPENFILENAME)
    Debug Filename$
  EndIf
  
  Repeat
    Select WaitWindowEvent()
      Case #PB_Event_CloseWindow
        End
    EndSelect
  ForEver
EndIf

Re: MsgBox nicht blocken

Verfasst: 28.03.2018 15:42
von ¯\_(ツ)_/¯
Super danke :allright:
Und wenn ich SaveFileRequester auch haben möchte muss ich nur
GetSaveFileName anstelle von GetOpenFileName nutzen. Das geht!
Wow diesmal hab ich was selber gelöst. :allright:
Danke nochmal deine Hilfe. Jetzt hab ich alles. :allright:

Re: MsgBox nicht blocken

Verfasst: 28.03.2018 15:57
von Derren
Im schnitt 3,6 Minuten Antwortzeit. Der RS-Bot ist aber ziemlich langsam heute :lol: :allright:

Re: MsgBox nicht blocken

Verfasst: 28.03.2018 16:10
von ¯\_(ツ)_/¯
Echt mal, er kann ruhig mal in Echtzeit antworten diese faule Socke,
ich habe nicht den ganzen Tag öh Minute Zeit. Ich habe nicht umsonst
79 € bezahlt. :mrgreen:
Bild

Re: MsgBox nicht blocken

Verfasst: 28.03.2018 16:27
von Bisonte
¯\_(ツ)_/¯ hat geschrieben:Echt mal, er kann ruhig mal in Echtzeit antworten diese faule Socke,
ich habe nicht den ganzen Tag öh Minute Zeit. Ich habe nicht umsonst
79 € bezahlt. :mrgreen:
Dir ist aber schon klar, dass RSBasic auch nur ein ganz "gewöhnlicher" (*) User ist... oder ?

(* zwar Moderator in diesem Forum, trotzdem hat er nix von den besagten 79€)