IPhone EveryAir Controls

01/22/2012 17:43 Paraly#1
Huhu ich wollte für die App EveryAir für Iphone zusätzliche Controls machen
um Z.B. Dolphin oder anderes auf dem IPhone zu spielen. Ich dachte mir das könnte ich doch schnell in Autoit coden allerdings funktioniert es nicht so ganz.
Wenn ich mit der Maus auf eines der Controls klicke wird nichts an Notepad gesendet.Hoffe ihr wisst wo der Fehler ist oder villeicht ist ja einer so nett und codet mir das in gdi+ dann währen die Buttons sicher schöner bzw Transparent.

hier der code, bilder etc ist im download dabei.

Code:
HotKeySet("{esc}","_exit")


#RequireAdmin


#include <WindowsConstants.au3>
#include <WinAPI.au3>
#include <Array.au3>



Global $aButton[7]


$gui = GUICreate("Test Windows regions", @DesktopWidth, @DesktopHeight,0,0, $WS_POPUP, $WS_EX_TOPMOST)
$aButton[0] = GUICtrlCreatePic("Images\start.bmp",594, 709 , 50,50)
$aButton[1] = GUICtrlCreatePic("Images\start.bmp",742, 707 , 50,50)
$aButton[2] = GUICtrlCreatePic("Images\A.bmp",1083, 626 , 100,100)
$aButton[3] = GUICtrlCreatePic("Images\B.bmp",982, 538 , 100,100)
$aButton[4] = GUICtrlCreatePic("Images\X.bmp",1187, 540, 100,100)
$aButton[5] = GUICtrlCreatePic("Images\Y.bmp",1079, 446 , 100,100)


;WinSetTrans("Test Windows regions","",100)

GUISetState(@SW_SHOW)

$pos = WinGetPos($gui)
_GuiHole($gui, 0, 0, @DesktopWidth, @DesktopHeight)


While 1
    $msg = GUIGetMsg()
    Switch $msg
		case $aButton[0]
ControlSend("Unbenannt - Editor","","","{0}")
			
		case $aButton[1]
ControlSend("Unbenannt - Editor","","","1")

		case $aButton[2]	
ControlSend("Unbenannt - Editor","","","2")
			

		case $aButton[3]
ControlSend("Unbenannt - Editor","","","3")

			send("{3}")		
		case $aButton[4]
ControlSend("Unbenannt - Editor","","","4")
		case $aButton[5]
ControlSend("Unbenannt - Editor","","","5")


			

    EndSwitch
WEnd







Func _GuiHole($h_win, $i_x, $i_y, $i_sizew, $i_sizeh)
    Local $outer_rgn, $inner_rgn, $combined_rgn
    $combined_rgn = _WinAPI_CreateRectRgn(0, 0, 0, 0)
    _WinAPI_DeleteObject($outer_rgn)
    _WinAPI_DeleteObject($inner_rgn)
    _AddCtrlRegion($combined_rgn, $aButton)
    _WinAPI_SetWindowRgn($h_win, $combined_rgn)
EndFunc   ;==>_GuiHole

Func _AddCtrlRegion($full_rgn, $ctrl_id)
    Local $ctrl_pos, $ctrl_rgn
    If IsArray($ctrl_id) Then
        For $i = 0 To UBound($ctrl_id) -1
            $ctrl_pos = ControlGetPos($gui, "", $ctrl_id[$i])
            $ctrl_rgn = _WinAPI_CreateRectRgn($ctrl_pos[0], $ctrl_pos[1], $ctrl_pos[0] + $ctrl_pos[2], $ctrl_pos[1] + $ctrl_pos[3])
            _WinAPI_CombineRgn($full_rgn, $full_rgn, $ctrl_rgn, $RGN_OR)
            _WinAPI_DeleteObject($ctrl_rgn)
        Next
    Else
        $ctrl_pos = ControlGetPos($gui, "", $ctrl_id)
        $ctrl_rgn = _WinAPI_CreateRectRgn($ctrl_pos[0], $ctrl_pos[1], $ctrl_pos[0] + $ctrl_pos[2], $ctrl_pos[1] + $ctrl_pos[3])
        _WinAPI_CombineRgn($full_rgn, $full_rgn, $ctrl_rgn, $RGN_OR)
        _WinAPI_DeleteObject($ctrl_rgn)
    EndIf
EndFunc   ;==>_AddCtrlRegion

func _exit()
Exit
EndFunc
Die Buttons sind an meine Auflösung angepasst 1366x768

[Only registered and activated users can see links. Click Here To Register...]


Hier noch ein Video zur App EveryAir vom IPhone.


MFG Zocker5656
01/24/2012 15:07 Paraly#2
hm hab ich den thread zu unübersichtlich erklärt oder weis wirklich keiner wie man buttons auf den desktop malt und bei linksklick darauf ein event passiert :(
01/26/2012 18:28 Der-Eddy#3
Hab ich vor kurzem mal gefunden sollte dein Problem lösen: [Only registered and activated users can see links. Click Here To Register...]
da das über GDI+ läuft kannst du auch gleich transparente Bilder nehmen die dann schöner aussehen
01/28/2012 21:18 Paraly#4
hm ich bekomms einfach nicht hin :( kann mir keiner ein programm das wie die Bildschirmtastatur von windows funktioniert nur halt mit einzelnen buttons programmieren? :(
01/31/2012 17:56 Everything™#5
I dont understand is that going on IPod 3 ?