Variablen HWND an ahk_id übergeben

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

User avatar
fump2000
Posts: 313
Joined: 04 Oct 2013, 17:31

Variablen HWND an ahk_id übergeben

06 Mar 2014, 10:57

Hallo zusammen...

ich habe in meinem Script eine GHUI die auch mehrmals erzeugt wird.
Da gibts dann ein Control dessen HWND ich gerne an eine SendMessage aktion übergeben möchte.

Das Control wird so eingebunden:

Code: Select all

Gui, POP%a%:Add, DateTime, x252 y90 w110 h30 gChangeDateTime vNewTimeCheck HWNDPOP%a%HDT3, dd.MM.yyyy HH:mm
Wie übergebe ich denn die HWND an die SendMessage Aktion?

POP%a% heißt die GUI, diesen Teil bekomm ich über A_GUIaber wie verbinde ich dies mit HDT3 und wie komme ich dann an den Inhalt der sich hinter POP%a%HDT3 verbirgt?

Ich steh aufm Schlauch...

:)

MfG
fump
Last edited by fump2000 on 06 Mar 2014, 14:01, edited 1 time in total.
HotKeyIt
Posts: 2033
Joined: 29 Sep 2013, 18:35
Contact:

Re: Variablen HWND an ahk_id übergeben

06 Mar 2014, 13:56

fump2000 wrote:...
Da gibt’s dann ein Control dessen HWND ich gerne an eine SendMessage Aktion übergeben möchte.
Woher weißt du welchen Control du ansprechen willst?
User avatar
fump2000
Posts: 313
Joined: 04 Oct 2013, 17:31

Re: Variablen HWND an ahk_id übergeben

06 Mar 2014, 14:08

Wie schon geschrieben.

Die Var die die HWND des Controls beinhaltet heißt POP%a%HDT3 Die GUI selbst heißt POP%a% diesen Teil würde ich ja über A_GUI erhalten. Ich weiß nicht ob es überhaupt machbar ist... aber kann man irgendwie den Teil von A_GUI mit HDT3 zu einer Var verbinden so das man an die HWND kommt die sich in der Var POP%a%HDT3 befindet?

Hoffe das war jetzt verständlich :)

Bei jedem GUI Aufruf ändert sich %a% somit ändert sich auch A_GUI. So könnte man das Control differenzieren. Oder irre ich mich?

MfG
fump
User avatar
fump2000
Posts: 313
Joined: 04 Oct 2013, 17:31

Re: Variablen HWND an ahk_id übergeben

07 Mar 2014, 02:47

Also ahk_id %A_Gui%HDT3 macht nix und ahk_id % %A_Gui%HDT3 bringt nen Fehler, ahk_id % %A_Gui%HDT3% führt natürlich auch zu einem fehler.

Wie gehts denn nun richtig? Oder geht das gar nicht? Bin ich vllt. nur zu doof es zu erkennen!?
hd0202
Posts: 152
Joined: 04 Oct 2013, 03:07
Location: Germany near Cologne

Re: Variablen HWND an ahk_id übergeben

07 Mar 2014, 03:21

fump2000 wrote:ahk_id % %A_Gui%HDT3
muss wenn schon denn schon ahk_id % A_Gui "HDT3" heissen.

Hier mein Vorschlag:

Code: Select all

tempgui := A_Gui "HDT3"
... ahk_id %tempgui%
Hubert
User avatar
fump2000
Posts: 313
Joined: 04 Oct 2013, 17:31

Re: Variablen HWND an ahk_id übergeben

07 Mar 2014, 03:41

ahk_id % A_Gui "HDT3" erzeugt einen Fehler.

Und wenn ich erst tempgui := A_Gui "HDT3" umsetze dann beinhaltet tempgui nicht die HWND sondern den Namen der GUI (bei der ersten also POP1) und den Text HDT3.

Der Inhalt von tempgui lautet also beim aufpoppen der ersten GUI POP1HDT3.
Ich brauch aber den Inhalt der sich in der Var POP1HDT3 befindet...
hd0202
Posts: 152
Joined: 04 Oct 2013, 03:07
Location: Germany near Cologne

Re: Variablen HWND an ahk_id übergeben

07 Mar 2014, 03:51

Also so:

Code: Select all

tempgui := A_Gui "HDT3"
tempgui := %tempgui%
... ahk_id %tempgui%
Hubert
User avatar
fump2000
Posts: 313
Joined: 04 Oct 2013, 17:31

Re: Variablen HWND an ahk_id übergeben

07 Mar 2014, 04:08

Ui... Ich wusste nicht das man in einem Ausdruck mit %Var% arbeiten darf... Daher hab ich es nicht versucht.
Es funktioniert aber nun endlich :)

Vielen vielen Dank!
just me
Posts: 6792
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: Variablen HWND an ahk_id übergeben

07 Mar 2014, 05:21

Eine Zeile weniger geht noch (falls Du das nicht schon selbst herausgefunden hast):

Code: Select all

A := 7
GuiName := "POP" . A             ; steht später in A_Gui
POP%A%HDT := 12345               ; Variable mit dem HWND  
;...
;...
HwndVar := GuiName . "HDT"       ; statt GuiName A_Gui verwenden!
MsgBox, % "ahk_id " . %HwndVar%  ; kannst Du so auch in SendMessage verwenden
User avatar
fump2000
Posts: 313
Joined: 04 Oct 2013, 17:31

Re: Variablen HWND an ahk_id übergeben

07 Mar 2014, 05:57

Mhh das ist aber komisch... Als ich tempgui := A_Gui "HDT3" eingefügt hatte beinhaltete die Var nicht den HWND sondern den Text "POP1HDT3".

Liegts am "." ? Den hab ich nicht genutzt. Sollte ich mir wohl mal angewöhnen.
just me
Posts: 6792
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: Variablen HWND an ahk_id übergeben

08 Mar 2014, 01:29

Nein, der "." hat damit nichts zu tun. Der ist nur ein Spleen von mir, weil ich die "automatische Verkettung" nicht mag.

Es liegt wohl eher am "%" (force an expression) in ..., % "ahk_id " . %HwndVar%

Return to “Ich brauche Hilfe”

Who is online

Users browsing this forum: No registered users and 35 guests