GUI-Wertbereich der Koordinaten

03/06/2010 02:36 .nAno#1
Hey,
für nen kleines Projekt muss ich den Wertbereich der GUI Koordinaten um einen negativen Teil erweitern können.

Beispiel:
Mein Script soll feststellen wo sich ein GUI Element befindet, nur soll es auch erkennen, wann sich das Element außerhalb des Fensters befindet und vorallem wie weit ;)

Ich hoffe, dass irg. wer ne UDF oder Option/Funktion sagen kann die ich übersehn habe^^
03/06/2010 09:33 Shadow992#2
Quote:
Originally Posted by .nAno View Post
Hey,
für nen kleines Projekt muss ich den Wertbereich der GUI Koordinaten um einen negativen Teil erweitern können.

Beispiel:
Mein Script soll feststellen wo sich ein GUI Element befindet, nur soll es auch erkennen, wann sich das Element außerhalb des Fensters befindet und vorallem wie weit ;)

Ich hoffe, dass irg. wer ne UDF oder Option/Funktion sagen kann die ich übersehn habe^^
Ich würde es so probieren :
PHP Code:
info=WinGetPos($Form1)


if 
$ElementXPos>info[0] and $ElementXPos<info[0]+info[2then
;Element ist in der GUI
$XAuserhalb
=0
elseif $ElementXPos<info[0] or $ElementXPos>info[0]+info[2]
;
Element ist außerhalb der GUI
$XAuserhalb
=1
XÜberschritten
=info[0]+info[2]-$ElementXPos
endif


if 
$ElementYPos>info[1] and $ElementYPos<info[1]+info[3then
;Element ist in der GUI
$YAuserhalb
=0
elseif $ElementYPos<info[1] or $ElementYPos>info[1]+info[3]
;
Element ist außerhalb der GUI
$YAuserhalb
=1
YÜberschritten
=info[1]+info[3]-$ElementYPos
endif


If 
$YAuserhalb=or $XAuserhalb=1 then
das Element ist außerhalb tu irgendwas
Msgbox
(16,"Achtung","Das Element hat die Gui-Grenze um "&XÜberschritten&
"X-Pixel und um "&YÜberschritten&"Y-Pixel überschritten")
endif 
Wie du ausliest an welcher Stelle das Element ist weiß ich leider nicht ...
Ich habe bereits ein bisschen rumprobiert , aber nichts hat so wirklich funktioniert, vielleicht findest du etwas .
Btw. GUICtrlGetHandle(...) könnte dir behilflich sein
03/06/2010 13:07 .nAno#3
hmm, danke schonmal für deine Mühe^^
Ich bau das mal in ne Kopie von dem Programm ein vllt kann man das irg. wie mit ControlGetPos kombinieren, naja danke :)