Nicht blockender Requester!

Anfängerfragen zum Programmieren mit PureBasic.
D4uS1
Beiträge: 268
Registriert: 02.09.2006 12:16

Nicht blockender Requester!

Beitrag 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?
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Beitrag 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 
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag 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
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von RSBasic »

ja schon, aber es ist einerseits aufwendig und der code ist länger :|
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
Alves
Beiträge: 1208
Registriert: 19.04.2006 18:24
Kontaktdaten:

Beitrag 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.
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von RSBasic »

toll, ich habe meine zeit dafür geopfert :mrgreen:
naja egal :D
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag 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.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
PBZecke
Beiträge: 399
Registriert: 02.09.2004 17:34

Beitrag 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?
Nein, ich habe die Suche nicht benutzt, und deshalb auch nichts dazu gefunden... :lol:
D4uS1
Beiträge: 268
Registriert: 02.09.2006 12:16

Beitrag 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!
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag 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.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten