MessageRequester immer JA ??

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Then
Beiträge: 284
Registriert: 06.09.2004 13:26
Wohnort: Siegen

MessageRequester immer JA ??

Beitrag von Then »

Moin,

wenn ich einen einfachen MessageRequester aufrufe ist der Focus immer auf JA. Kann man das ändern ?

Code: Alles auswählen

MessageRequester("","",#MB_YesNo)
Ist blöd, wenn die Finger schnell mal eben ENTER drücken und zB eine Datei gelöscht wird.
PB 6.10LTs / Windows 11 64Bit (i9/32GB/ 1TB-SSD+4TB-HDD/3060GTX12GB) / 2x27" Multitouch

... ich mache dazu keine Aussage, weil ich mich damit selbst belasten könnte !
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: MessageRequester immer JA ??

Beitrag von NicTheQuick »

Zwei Dinge:
Erstens ist die Konstante falsch. Richtig wäre #PB_MessageRequester_YesNo
Und zweitens ist der Default bei mir "Nein", aber ich nutze auch Linux.

Ich weiß aber auch nicht wie man das ändern kann außer den Dialog selbst zu bauen.
Benutzeravatar
Macros
Beiträge: 1361
Registriert: 23.12.2005 15:00
Wohnort: Olching(bei FFB)
Kontaktdaten:

Re: MessageRequester immer JA ??

Beitrag von Macros »

Die simple Antwort ist nein. Edit: Da lag ich falsch. Siehe HeX0R Anwort unten

Der Messagerequester ist eine sehr simple und eingeschränkte Funktion. Man hat wenig Einfluss auf das Aussehe und auf HighDPI Displays wird der Text schnell unlesbar klein.

Besser bist du dran, wenn du einen eigenen programmierst. Dafür brauchst du ja nur ein Fenster, ein Textgadget, zwei Buttongadgets und eine Eventschleife. Bzw. du kannst sogar die normale Eventschleife deines Programms verwenden, falls du es aktiv halten willst.

Die komplizierte Antwort ist: Ja das könnte man mittels Windows-API und eines Threads der Nachrichten an das Messagerequester-Fenster sendet oder indem du einen Hook setzt lösen, aber das erfordert mehr Aufwand als selberbauen ;)
Edit: Geht mit API doch einfach in dem Fall, siehe HeX0R unten.

Dennoch: Einen Messagerequester selber bauen ist eine simple Aufgabe die einem dann viel Freiheiten bei der Programmgestaltung gibt.
Zuletzt geändert von Macros am 03.05.2024 13:48, insgesamt 3-mal geändert.
Bild
Benutzeravatar
HeX0R
Beiträge: 3042
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Re: MessageRequester immer JA ??

Beitrag von HeX0R »

Wenn Du schon API Konstanten nimmst, mach's doch so

Code: Alles auswählen

MessageRequester("","",#MB_YESNO| #MB_DEFBUTTON2)
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: MessageRequester immer JA ??

Beitrag von NicTheQuick »

Dann funktioniert's halt nur unter Windows.
Benutzeravatar
HeX0R
Beiträge: 3042
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Re: MessageRequester immer JA ??

Beitrag von HeX0R »

Klar, war's aber ja von Anfang an schon :mrgreen:
Benutzeravatar
Then
Beiträge: 284
Registriert: 06.09.2004 13:26
Wohnort: Siegen

Re: MessageRequester immer JA ??

Beitrag von Then »

Richtig, ich programmiere nur für Windows.... Vielen Dank, genau das habe ich gesucht !!
PB 6.10LTs / Windows 11 64Bit (i9/32GB/ 1TB-SSD+4TB-HDD/3060GTX12GB) / 2x27" Multitouch

... ich mache dazu keine Aussage, weil ich mich damit selbst belasten könnte !
Axolotl
Beiträge: 278
Registriert: 31.12.2008 16:34

Re: MessageRequester immer JA ??

Beitrag von Axolotl »

Als Windows-Programmierer ist es immer gut diese Seiten zu kennen.
https://learn.microsoft.com/de-de/windo ... s-commands
Konkret für deine Frage:
https://learn.microsoft.com/de-de/windo ... messagebox
Using PureBasic latest stable version and current alpha/beta (x64) on Windows 11 Home
Benutzeravatar
dige
Beiträge: 1239
Registriert: 08.09.2004 08:53

Re: MessageRequester immer JA ??

Beitrag von dige »

HeX0R hat geschrieben: 03.05.2024 13:34 Wenn Du schon API Konstanten nimmst, mach's doch so

Code: Alles auswählen

MessageRequester("","",#MB_YESNO| #MB_DEFBUTTON2)
Ha! Das könnte ich auch gut gebrauchen. Hatte bisher nicht gewusst, dass sowas geht. Supi! :allright:
"Papa, ich laufe schneller - dann ist es nicht so weit."
Antworten