Gui Problem

10/01/2010 20:40 Robin,249#1
Hi Autoit-Coder Comunity

Ich bin eigentlich mit meinem Bot fertig, jedoch stört mich eines noch.
Ich habe in ein Fenster (nicht Autoit) mit einem Gui es so "verändert".

Jedoch möchte ich, dass das Gui auch nur über diesem Fenster ist.

Beispiel:


Wäre froh, wenn mir wer weiterhelfen kann.
Danke im vorraus

MFG: Robin
10/01/2010 22:00 lolkop#2
du guckst halt einfach ob dein fenster gerade aktiv ist, und versteckst bzw zeigst nur in dem falle dein gui. ausserdem reicht es doch wenn dein gui genau so groß ist wie der button :o so blockierst du auch nicht das tool im hintergrund.
Code:
OnAutoItExitRegister("_Exit")
$pid = Run("notepad.exe")
$hwnd = WinWait("Unbenannt - Editor")
$pos = WinGetPos($hwnd)
$gui = GUICreate("Window", 50, 25, $pos[0]+50, $pos[1]+50, 0x90000000, 0x88)
$button = GUICtrlCreateButton("Send", 0, 0, 50, 25)

While WinExists($hwnd)
	Switch GUIGetMsg()
		Case $button
			WinActivate($hwnd)
			Send("Du hast auf den Button geklickt")
		Case Else
			$active = WinGetHandle("[ACTIVE]")
			If $active <> $hwnd And $active <> $gui Then
				If BitAND(WinGetState($gui), 2) Then GUISetState(@SW_HIDE)
			Else
				If Not BitAND(WinGetState($gui), 2) Then GUISetState(4)
			EndIf
			If Not WinExists($hwnd) then Exit
			$pos=WinGetPos($hwnd)
			WinMove($gui,"",$pos[0]+50, $pos[1]+50)
	EndSwitch
WEnd

Func _Exit()
	Winclose("Unbenannt - Editor")
EndFunc
10/02/2010 12:00 Robin,249#3
jah danke, soweit habe ich gar nicht überlegt.

Gibts aber keine andere möglichkeit, indem man das Gui ins Fenster hineinfügt.
zBsp. wenn das fenster nicht im Vordergrund ist, aber man sieht es, dass man dann den Button auch sieht.



MFG: Robin
10/02/2010 13:04 lolkop#4
natürlich. dazu musst du nur checken, ob der teil des fensters, in dem sich der button befindet gerade sichtbar ist.
10/02/2010 19:19 Robin,249#5
Ne, Ich glaub ich lass das dann, denn mein eigentliches script hat hat 13 Inputboxen und immer checken, ob diesen Teil des Inputes sichtbar ist wird mir zu viel.

Danke trozdem.