Seite 1 von 1

Nicht blockender Requester!

Verfasst: 06.10.2006 21:11
von D4uS1
der Befehl MessageRequester() zeigt ja eine nachricht auf dem bildschrim die die programmausführung stoppt bis diese nachricht "verschwindet". Ich hätte aber gerne eine Nachricht die im Hintergrund läuft. Das Programm soll beendet werden sobald jemand den OK buttom drückt, ist das möglich?

Verfasst: 06.10.2006 21:20
von RSBasic
Hi, hier ist dein Code:

Code: Alles auswählen

Procedure Information(Parameter)
Dialog = MessageRequester("Information","Es wird beendet!",0) 
If Dialog = #IDOK 
  End 
EndIf
EndProcedure

If OpenWindow(0, 0, 0, 800, 800, #PB_Window_SystemMenu, "Play") 
  If CreateGadgetList(WindowID()) 
    ;...
  EndIf
  CreateThread(@Information(), 154)
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow 
EndIf 

Verfasst: 06.10.2006 21:45
von ts-soft
Das mit dem Thread ist nicht so empfehlenswert. Besser selber ein Fenster in
der Art eines MessageRequesters erstellen!

Icons kann man aus User32.dll laden, und Systemsounds lassen sich auch
recht einfach abspielen. Mal die Suchfunktion bemühen, da findet sich ne
Menge hilfreicher Beispiele :wink:

Gruß
Thomas

Verfasst: 06.10.2006 21:52
von RSBasic
ja schon, aber es ist einerseits aufwendig und der code ist länger :|

Verfasst: 06.10.2006 21:54
von Alves
Aber Threads sind relativ unsicher, und ich hätte das auch über ein extra Fentse rgtemacht.

Denn: MSGs sind dafür da, um das Programm anzuhalten und das zu umgehen ist irgendwie weird. Also lieber selber ein Fentser schreieben, ist ja auch nicht so kompliziert.

Verfasst: 06.10.2006 22:00
von RSBasic
toll, ich habe meine zeit dafür geopfert :mrgreen:
naja egal :D

Verfasst: 06.10.2006 22:27
von Kaeru Gaman
nuja, was gelernt haben wirst du dabei ja auch... ;)

wenn das fenster wie ein echter requester aussehen soll, wirds etwas umständlich,
denn dann muss man API verwenden, um die schmalere kopfleiste mit dem kleineren exit-button hinzubekommen...

aber wenns darauf nicht ankommt, ist ein simples OpenWindow mit nem schicken Button das beste.
eines bedenken:
am besten nur eine einzige event-schleife, und dann muss man prüfen, von welchen Win das Event kommt.

Verfasst: 07.10.2006 12:29
von PBZecke
Also die Titelleiste und die Buttons darauf haben doch eigentlich die normale
Höhe, oder? Interessanter sind die Buttons im Dialog, da die von Windows zu
Windows-Version unterschiedlich groß sind. Da ich selbst oft eigene
Requester anlege wäre es gut zu wissen ob ich von Windows erfahren könnte
wie groß die sein sollen. Hat da jemand eine Idee?

Verfasst: 07.10.2006 12:50
von D4uS1
Danke für die vielfältigen und raschen antworten, ich hab dann einfach mal den Code von RSBasic kopiert und benutzt, vielen dank!

Verfasst: 07.10.2006 16:26
von Kaeru Gaman
obwohl ausdrücklich davon abgeraten wird?

bitte mitdenken!

es wurde hier gesagt, dass es ungünstig ist, einen thread für sowas zu starten.
ich mein, bitte les dir die antworten auch durch, und nimm nicht die,
die du am schnellsten kopieren kannst.