Hallöle,
in der Hilfe steht leider nicht, wie man den "Hilfe" Button abfragen kann, den man ja optional in MsgBoxen einblenden kann.
Geht das überhaupt?
Gruß,
Gucky.
Button "Hilf" bei MsgBox abfragen?
Moderator: jNizM
Re: Button "Hilf" bei MsgBox abfragen?
Siehe https://ahkde.github.io/docs/commands/M ... emerkungen
(falls du die Bemerkung übersehen hast).
Wenn du eine spezifische Frage dazu hast, werde bitte mehr spezifisch.
(falls du die Bemerkung übersehen hast).
Wenn du eine spezifische Frage dazu hast, werde bitte mehr spezifisch.
Re: Button "Hilf" bei MsgBox abfragen?
Inwiefern MEHR spezifisch?
Genau diese Seite, die Du mir geschickt hast (Vielen Dank dafür!), habe ich gerade per Suchmaschine gefunden, aber der HILFE Button wird offenbar nicht abgefragt weil ich vermutlich einen Fehler mache.
Die ersten drei Buttons funktionieren, der umbenannte Hilfe Button löst nichts aus.
Hier mal mein Codeschnipsel:
Genau diese Seite, die Du mir geschickt hast (Vielen Dank dafür!), habe ich gerade per Suchmaschine gefunden, aber der HILFE Button wird offenbar nicht abgefragt weil ich vermutlich einen Fehler mache.
Die ersten drei Buttons funktionieren, der umbenannte Hilfe Button löst nichts aus.
Hier mal mein Codeschnipsel:
Code: Select all
OnMessage(0x53, "WM_HELP")
SetTimer, ChangeButtonNames, 25
; MsgBox mit ? Symbol, 2. Button als Standard und 4 Buttons insgesamt.
MsgBox, 16675, Auswahl, Klicken Sie einen Button an...
OnMessage(0x53, "")
ifMsgBox, Yes
TYP := "Button 1"
IfMsgBox, No
TYP := "Button 2"
IfMsgBox, Cancel
TYP := "Button 3"
msgbox Geklickt: %TYP%
Reload
WM_HELP()
{
TYP := "Hilfe"
}
ChangeButtonNames:
IfWinNotExist, Auswahl
Return
SetTimer, ChangeButtonNames, Off
ControlSetText, Button1, Button &1
ControlSetText, Button2, Button &2
ControlSetText, Button3, Button &3
ControlSetText, Button4, &Beenden
return
Re: Button "Hilf" bei MsgBox abfragen?
Aber... wenn ich der Hilfe folge, dann müssen zwei Bedingungen erfüllt sein, damit der Hilfe-Button eine Wirkung hat:
Bedingung 1 hast du ignoriert.1. Die Message Box wurde einem GUI-Fenster mithilfe von Gui +OwnDialogs untergeordnet.
2. Das Skript überwacht die WM_HELP-Meldung (0x53). Zum Beispiel: OnMessage(0x53, "WM_HELP"). Durch Aufrufen der WM_HELP-Funktion könnte man den Benutzer zusätzliche Hinweise mithilfe eines weiteren Fensters oder Message Box geben.
Bedingung 2 hast du erfüllt - allerdings blendest du durch das Aufrufen der "Aufrufen der WM_HELP-Funktion" keine "zusätzliche[n] Hinweise mithilfe eines weiteren Fensters oder Message Box" hinzu, sondern versuchst, eine nicht-globale Variable zu setzen (
Gemäß der Hilfe müsste zumindest das hier funktionieren:
Code: Select all
; "1. Die Message Box wurde einem GUI-Fenster mithilfe von Gui +OwnDialogs untergeordnet."
Gui +OwnDialogs
OnMessage(0x53, "WM_HELP")
SetTimer, ChangeButtonNames, 25
; MsgBox mit ? Symbol, 2. Button als Standard und 4 Buttons insgesamt.
MsgBox, 16675, Auswahl, Klicken Sie einen Button an...
OnMessage(0x53, "")
ifMsgBox, Yes
TYP := "Button 1"
IfMsgBox, No
TYP := "Button 2"
IfMsgBox, Cancel
TYP := "Button 3"
msgbox Geklickt: %TYP%
Reload
WM_HELP()
{
; "2. ... zusätzliche Hinweise mithilfe eines weiteren Fensters oder Message Box"
Msgbox Das Handbuch finden Sie als pdf-Datei im Programmverzeichnis.
}
ChangeButtonNames:
IfWinNotExist, Auswahl
Return
SetTimer, ChangeButtonNames, Off
ControlSetText, Button1, Button &1
ControlSetText, Button2, Button &2
ControlSetText, Button3, Button &3
ControlSetText, Button4, &Beenden
return
Last edited by gregster on 24 Jul 2018, 09:54, edited 2 times in total.
Re: Button "Hilf" bei MsgBox abfragen?
Ich sehe dein GUI +OwnDialogs nicht.hilfe wrote:Der Hilfe-Button: Sofern die Hilfe-Button-Option (16384) in den Optionen angegeben ist, wird der Hilfe-Button erst eine Wirkung haben, wenn die beiden folgenden Bedingungen erfüllt sind:
Die Message Box wurde einem GUI-Fenster mithilfe von Gui +OwnDialogs untergeordnet.
Das Skript überwacht die WM_HELP-Meldung (0x53). Zum Beispiel: OnMessage(0x53, "WM_HELP"). Durch Aufrufen der WM_HELP-Funktion könnte man den Benutzer zusätzliche Hinweise mithilfe eines weiteren Fensters oder Message Box geben.
Zudem ist die TYP Variable in deiner Funktion nur lokal und wirkt sich nicht auf die TYP Variable aus die du in dem Rest des Skripts verwendest.
Recommends AHK Studio
Re: Button "Hilf" bei MsgBox abfragen?
Ah gregster war schneller.
Allerdings eine Anmerkung:
Das hier funktioniert bei mir:
Allerdings eine Anmerkung:
Das hier funktioniert bei mir:
Code: Select all
; "1. Die Message Box wurde einem GUI-Fenster mithilfe von Gui +OwnDialogs untergeordnet."
Gui +OwnDialogs
OnMessage(0x53, "WM_HELP")
help := "Nein"
MsgBox, 16675, Auswahl, Klicken Sie einen Button an...
OnMessage(0x53, "")
ifMsgBox, Yes
TYP := "Yes"
IfMsgBox, No
TYP := "No"
IfMsgBox, Cancel
TYP := "Cancel"
msgbox Geklickt: %TYP% `nHilfe? %help%
Reload
WM_HELP(a,b, byref var)
{
global help
help := "Hilfe"
}
Recommends AHK Studio
Re: Button "Hilf" bei MsgBox abfragen?
Hast recht, nnnik. Ist mir gerade auch aufgefallen. Hatte einen Fehler gemacht beim rumprobieren. Globale Variablen lassen sich setzen. Das ist doch eine Erleichterung
Wobei die Parameter in WM_HELP(a,b, byref var), die in der ersten Version standen, die ich gepostet habe, auch nichts bewirken. Die waren nur übrig vom rumprobieren...
WM_HELP() reicht für diesen Zweck natürlich...
Wobei die Parameter in WM_HELP(a,b, byref var), die in der ersten Version standen, die ich gepostet habe, auch nichts bewirken. Die waren nur übrig vom rumprobieren...
WM_HELP() reicht für diesen Zweck natürlich...
Re: Button "Hilf" bei MsgBox abfragen?
Aaaaaach, ich bin echt urlaubsreif. Danke Euch!
Ich hatte es so verstanden, dass ENTWEDER die 1. ODER 2. Bedingung erfüllt sein muss.
So funktioniert es natürlich.
Gucky.
Ich hatte es so verstanden, dass ENTWEDER die 1. ODER 2. Bedingung erfüllt sein muss.
So funktioniert es natürlich.
Gucky.
Who is online
Users browsing this forum: No registered users and 23 guests