• Ich hab etwas Langeweile gehabt und war in den letzten Tagen immer wieder auf der Suche nach "schicken" GUI's die man so mit AutoIT erstellen könnte.

    Leider wird man über Google kaum fündig - oder ich hab einfach falsch gesucht, meist waren die Treffer doch nur Guides wie man überhaupt eine GUI erstellen kann (im allgemeinen) oder es wurde alles mit GDI+ gemacht (was mir persönlich ne Stufe zu hoch ist ;) ).

    Daher habe ich hier mal eine GUI erstellt, die wie das HTC Desire HD ausschaut (weil ich es zufälligerweise besitze)... über Sinn und Funktionalität läßt sich natürlich streiten. Auch ist der Code nicht komplett von mir, da ich mich einiger Codeschnipsel bedient habe um zum Beispiel die Runden GUI Ecken darzustellen oder die Hovereffekte für die Buttons zu realisieren (wenn gewünscht mit Animation).

    Aber lange Rede, kurzer Sinn... hier das Script. Im Anhang das ganze auch als Komplettpaket zum Download + Vorschaubilder.

    *Neuerungen*
    26.02.2012 (v1.1)
    Man kann, nachdem das Handy geöffnet wurde, unten den "Menu" Button klicken. Daraufhin öffnet sich das Handymenü... natürlich noch ohne Funktion - das kann dann später evtl mal kommen.

    27.02.2012 (v1.2)
    Browser/Suche eingebaut

    Spoiler anzeigen
    [autoit]


    #include <WindowsConstants.au3>
    #include <GUIConstants.au3>
    #include <WinAPI.au3>
    #include <GDIPlus.au3>
    #include <IE.au3>
    #include 'Buttons.au3'

    [/autoit] [autoit][/autoit] [autoit]

    Opt("GUIOnEventMode", 1)
    Opt("MouseCoordMode", 2) ;Damit die Koords der Maus auf dem Button korrekt erkannt werden.

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_Startup()

    [/autoit] [autoit][/autoit] [autoit]

    $Title = "HTC Desire HD"
    $Width = 300
    $Height = 500
    $pics = @ScriptDir & "\images\"

    [/autoit] [autoit][/autoit] [autoit]

    ; Konstanten
    Global Const $BgColorTitle = 0x000000
    Global Const $BgColor = 0x464646

    [/autoit] [autoit][/autoit] [autoit]

    ; Handyrahmen aussen
    $hWnd_Main = GUICreate($Title, $Width, $Height, -1, -1, $WS_POPUP)
    GUISetBkColor($BgColor)
    $Close = GUICtrlCreatePic($pics & "close.bmp", $Width - 16, 7, 9, 9)
    GUICtrlSetOnEvent($Close, "_Exit")
    $TitleBar = GUICtrlCreateLabel("", 6, 4, $Width - 42, 17, -1, $GUI_WS_EX_PARENTDRAG)
    GUICtrlCreatePic($pics & "HTC-Lautsprecher.bmp", 65, 6, 180, 10)

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState()

    [/autoit] [autoit][/autoit] [autoit]

    ; Handydisplay erstellen
    $hWnd_Child1 = GUICreate("", 290, 475, 5, 20, $WS_POPUP)
    GUISetBkColor(0xFFFFFF, $hWnd_Child1)

    [/autoit] [autoit][/autoit] [autoit]

    $IE = _IECreateEmbedded()
    $browser = GUICtrlCreateObj($IE, 11, 13, 268, 395)
    GUICtrlSetState($browser, $GUI_HIDE)

    [/autoit] [autoit][/autoit] [autoit]

    ;~ GUICtrlCreatePic($pics & "HTC-Brilliant.bmp", 15, 130, 260, 165)
    Global $hImg_HTC_Brilliant = _GDIPlus_ImageLoadFromFile($pics & "HTC-Brilliant.bmp")

    [/autoit] [autoit][/autoit] [autoit]

    $home_button = GUICtrlCreatePic($pics & "menu1.bmp", 15, 410, 51, 38)
    GUICtrlSetOnEvent($home_button, "_home_button")
    $menu_button = GUICtrlCreatePic($pics & "menu2.bmp", 66, 410, 82, 38)
    GUICtrlSetOnEvent($menu_button, "_menu_button")
    $back_button = GUICtrlCreatePic($pics & "menu3.bmp", 148, 410, 76, 38)
    GUICtrlSetOnEvent($back_button, "_back_button")
    $suche_button = GUICtrlCreatePic($pics & "menu4.bmp", 224, 410, 49, 38)
    GUICtrlSetOnEvent($suche_button, "_suche_button")
    GUICtrlCreatePic($pics & "HTC-Logo.bmp", 120, 445, 55, 20)

    [/autoit] [autoit][/autoit] [autoit]

    Global Const $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hWnd_Child1)
    Global Const $hBitmap = _GDIPlus_BitmapCreateFromGraphics($Width, 410, $hGraphic)
    Global Const $hBackbuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)
    Global Const $hBitmap1 = _GDIPlus_BitmapCreateFromGraphics(270, 400, $hGraphic)
    Global Const $hBackbuffer1 = _GDIPlus_ImageGetGraphicsContext($hBitmap1)

    [/autoit] [autoit][/autoit] [autoit]

    ; Hintergrund/Rahmen des Handydisplays
    GUICtrlCreateGraphic(0, 0, 330, 12)
    GUICtrlSetBkColor(-1, $BgColorTitle)
    GUICtrlCreateGraphic(0, 0, 10, $Height)
    GUICtrlSetBkColor(-1, $BgColorTitle)
    GUICtrlCreateGraphic(0, 410, $Width, 80)
    GUICtrlSetBkColor(-1, $BgColorTitle)
    GUICtrlCreateGraphic(280, 0, 20, $Height)
    GUICtrlSetBkColor(-1, $BgColorTitle)

    [/autoit] [autoit][/autoit] [autoit]

    ; Menü
    Global $hButton1 = _Button_Init(20, 30, 45, 45, 1)
    _Button_Set_Pic($hButton1, 0, $pics & 'home1.bmp')
    _Button_Set_Pic($hButton1, 1, $pics & 'home2.bmp')
    _Button_Set_Pic($hButton1, 2, $pics & 'home3.bmp')

    [/autoit] [autoit][/autoit] [autoit]

    Global $hButton2 = _Button_Init(120, 30, 45, 45, 2)
    _Button_Set_Pic($hButton2, 0, $pics & 'info1.bmp')
    _Button_Set_Pic($hButton2, 1, $pics & 'info2.bmp')
    _Button_Set_Pic($hButton2, 2, $pics & 'info3.bmp')

    [/autoit] [autoit][/autoit] [autoit]

    Global $hButton3 = _Button_Init(220, 30, 45, 45, 3)
    _Button_Set_Pic($hButton3, 0, $pics & 'alben1.bmp')
    _Button_Set_Pic($hButton3, 1, $pics & 'alben2.bmp')
    _Button_Set_Pic($hButton3, 2, $pics & 'alben3.bmp')

    [/autoit] [autoit][/autoit] [autoit]

    Global $hButton4 = _Button_Init(20, 100, 45, 45, 4)
    _Button_Set_Pic($hButton4, 0, $pics & 'media1.bmp')
    _Button_Set_Pic($hButton4, 1, $pics & 'media2.bmp')
    _Button_Set_Pic($hButton4, 2, $pics & 'media3.bmp')

    [/autoit] [autoit][/autoit] [autoit]

    Global $hButton5 = _Button_Init(120, 100, 45, 45, 5)
    _Button_Set_Pic($hButton5, 0, $pics & 'kamera1.bmp')
    _Button_Set_Pic($hButton5, 1, $pics & 'kamera2.bmp')
    _Button_Set_Pic($hButton5, 2, $pics & 'kamera3.bmp')

    [/autoit] [autoit][/autoit] [autoit]

    Global $hButton6 = _Button_Init(220, 100, 45, 45, 6)
    _Button_Set_Pic($hButton6, 0, $pics & 'nachrichten1.bmp')
    _Button_Set_Pic($hButton6, 1, $pics & 'nachrichten2.bmp')
    _Button_Set_Pic($hButton6, 2, $pics & 'nachrichten3.bmp')

    [/autoit] [autoit][/autoit] [autoit]

    Global $hButton7 = _Button_Init(20, 170, 45, 45, 7)
    _Button_Set_Pic($hButton7, 0, $pics & 'home1.bmp')
    _Button_Set_Pic($hButton7, 1, $pics & 'home2.bmp')
    _Button_Set_Pic($hButton7, 2, $pics & 'home3.bmp')

    [/autoit] [autoit][/autoit] [autoit]

    Global $hButton8 = _Button_Init(120, 170, 45, 45, 8)
    _Button_Set_Pic($hButton8, 0, $pics & 'home1.bmp')
    _Button_Set_Pic($hButton8, 1, $pics & 'home2.bmp')
    _Button_Set_Pic($hButton8, 2, $pics & 'home3.bmp')

    [/autoit] [autoit][/autoit] [autoit]

    Global $hButton9 = _Button_Init(220, 170, 45, 45, "9")
    _Button_Set_Pic($hButton9, 0, $pics & 'home1.bmp')
    _Button_Set_Pic($hButton9, 1, $pics & 'home2.bmp')
    _Button_Set_Pic($hButton9, 2, $pics & 'home3.bmp')

    [/autoit] [autoit][/autoit] [autoit]

    Global $Btn_msg
    Global $pos, $klick
    Global $Temp
    Global $Anzeige = 0 ; 0 = home, 1 = Menu, usw...
    Local $t = TimerInit()

    [/autoit] [autoit][/autoit] [autoit]

    ; Display an Handyrahmen "koppeln"
    _SetParent($hWnd_Main, $hWnd_Child1)

    [/autoit] [autoit][/autoit] [autoit]

    ; Gui einblenden
    GuiRoundCorners($hWnd_Main, 0, 0, 20, 20)
    GuiRoundCorners($hWnd_Child1, 0, 0, 20, 20)
    WinSetTrans($hWnd_Main, "", 0)
    WinSetTrans($hWnd_Child1, "", 0)
    GUISetState(@SW_SHOW, $hWnd_Main)
    GUISetState(@SW_SHOW, $hWnd_Child1)
    FadeIn($hWnd_Main)

    [/autoit] [autoit][/autoit] [autoit]

    While Sleep(50)

    [/autoit] [autoit][/autoit] [autoit]

    Switch $Anzeige
    Case 0 ; Home
    _home()
    Case 1 ; Menu
    _menu()
    Case 2 ; Suche
    _back()
    Case 3 ; Suche
    _suche()
    EndSwitch

    [/autoit] [autoit][/autoit] [autoit]

    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    ; Funktionen
    Func _SetParent($hWnd_Parent, $hWnd_Child)
    $nExStyle = DllCall("user32.dll", "int", "GetWindowLong", "hwnd", $hWnd_Child, "int", 0xEC)
    DllCall("user32.dll", "int", "SetWindowLong", "hwnd", $hWnd_Child, "int", 0xEC, "int", BitOR($nExStyle[0], $WS_EX_MDICHILD))
    DllCall("user32.dll", "int", "SetParent", "hwnd", $hWnd_Child, "hwnd", $hWnd_Parent)
    GUISwitch($hWnd_Parent)
    EndFunc ;==> _SetParent

    [/autoit] [autoit][/autoit] [autoit]

    Func GuiRoundCorners($h_win, $i_x1, $i_y1, $i_x3, $i_y3)
    $pos = WinGetPos($h_win)
    $ret = DllCall("gdi32.dll", "long", "CreateRoundRectRgn", "long", $i_x1, "long", $i_y1, "long", $pos[2], "long", $pos[3], "long", $i_x3, "long", $i_y3)
    If $ret[0] Then
    $ret2 = DllCall("user32.dll", "long", "SetWindowRgn", "hwnd", $h_win, "long", $ret[0], "int", 1)
    If $ret2[0] Then
    Return 1
    Else
    Return 0
    EndIf
    Else
    Return 0
    EndIf
    EndFunc ;==>GuiRoundCorners

    [/autoit] [autoit][/autoit] [autoit]

    Func FadeIn($h)
    For $i = 0 To 255 Step 15
    Sleep(10)
    WinSetTrans($h, "", $i)
    Next
    EndFunc ;==>FadeIn

    [/autoit] [autoit][/autoit] [autoit]

    Func FadeOut($h)
    For $i = 255 To 0 Step -15
    Sleep(10)
    WinSetTrans($h, "", $i)
    Next
    EndFunc ;==>FadeOut

    [/autoit] [autoit][/autoit] [autoit]

    Func _Exit()
    FadeOut($hWnd_Main)
    GUIDelete($hWnd_Child1)

    [/autoit] [autoit][/autoit] [autoit]

    _Button_Dispose($hButton1)
    _Button_Dispose($hButton2)
    _Button_Dispose($hButton3)
    _Button_Dispose($hButton4)
    _Button_Dispose($hButton5)
    _Button_Dispose($hButton6)
    _Button_Dispose($hButton7)
    _Button_Dispose($hButton8)
    _Button_Dispose($hButton9)

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_GraphicsDispose($hBackbuffer)
    _GDIPlus_GraphicsDispose($hBackbuffer1)
    _GDIPlus_BitmapDispose($hBitmap)
    _GDIPlus_BitmapDispose($hBitmap1)
    _GDIPlus_GraphicsDispose($hGraphic)
    _GDIPlus_Shutdown()
    Exit
    EndFunc ;==>_Exit

    [/autoit] [autoit][/autoit] [autoit]

    Func _home_button()
    $Anzeige = 0
    GUICtrlSetState($browser, $GUI_HIDE)
    EndFunc ;==>_home_button

    [/autoit] [autoit][/autoit] [autoit]

    Func _menu_button()
    $Anzeige = 1
    GUICtrlSetState($browser, $GUI_HIDE)
    EndFunc ;==>_menu_button

    [/autoit] [autoit][/autoit] [autoit]

    Func _back_button()
    $Anzeige = 2 ;
    GUICtrlSetState($browser, $GUI_HIDE)
    EndFunc ;==>_back_button

    [/autoit] [autoit][/autoit] [autoit]

    Func _suche_button()
    $Anzeige = 3
    EndFunc ;==>_suche_button

    [/autoit] [autoit][/autoit] [autoit]

    Func _home()
    _GDIPlus_GraphicsClear($hBackbuffer1, 0xFFFFFFFF)
    _GDIPlus_GraphicsDrawImageRect($hBackbuffer1, $hImg_HTC_Brilliant, 5, 120, 260, 165)
    ; Hier was auch immer du willst...
    _GDIPlus_GraphicsDrawImage($hGraphic, $hBitmap1, 10, 10)
    EndFunc ;==>_home

    [/autoit] [autoit][/autoit] [autoit]

    Func _menu()
    _GDIPlus_GraphicsClear($hBackbuffer, 0xFF000000)
    $Btn_msg = _Button_Get_Pressed()
    _Button_Draw($hBackbuffer, $hButton1)
    _Button_Draw($hBackbuffer, $hButton2)
    _Button_Draw($hBackbuffer, $hButton3)
    _Button_Draw($hBackbuffer, $hButton4)
    _Button_Draw($hBackbuffer, $hButton5)
    _Button_Draw($hBackbuffer, $hButton6)
    _Button_Draw($hBackbuffer, $hButton7)
    _Button_Draw($hBackbuffer, $hButton8)
    _Button_Draw($hBackbuffer, $hButton9)
    _GDIPlus_GraphicsDrawImage($hGraphic, $hBitmap, 0, 0)
    ; If $Btn_msg Then ToolTip('ButtonID: ' & $Btn_msg)
    If $Btn_msg = "1" Then
    $Anzeige = 0
    ElseIf $Btn_msg = "2" Then
    MsgBox(64,"","Menu 2")
    ElseIf $Btn_msg = "3" Then
    MsgBox(64,"","Menu 3")
    ElseIf $Btn_msg = "4" Then
    MsgBox(64,"","Menu 4")
    ElseIf $Btn_msg = "5" Then
    MsgBox(64,"","Menu 5")
    ElseIf $Btn_msg = "6" Then
    MsgBox(64,"","Menu 6")
    ElseIf $Btn_msg = "7" Then
    MsgBox(64,"","Menu 7")
    ElseIf $Btn_msg = "8" Then
    MsgBox(64,"","Menu 8")
    ElseIf $Btn_msg = "9" Then
    $Anzeige = 2
    EndIf
    EndFunc ;==>_menu

    Func _back()
    _GDIPlus_GraphicsClear($hBackbuffer1, 0xFFFFFFFF)
    _GDIPlus_GraphicsDrawImageRect($hBackbuffer1, $hImg_HTC_Brilliant, 5, 120, 260, 165)
    ; Hier was auch immer du willst...
    _GDIPlus_GraphicsDrawImage($hGraphic, $hBitmap1, 10, 10)
    EndFunc ;==>_back

    Func _suche()
    GUICtrlSetState($browser, $GUI_SHOW)
    _IENavigate($IE,"http://www.google.com/xhtml")
    $Anzeige = -1
    EndFunc ;==>_suche

    [/autoit]

    autoit.de/wcf/attachment/15217/

    [EDIT]:
    Alte Anhänge entfernt
    Handy GUI.rar (40,96 kB - 19 mal heruntergeladen - zuletzt: 27.02.2012, 19:24)
    Handy GUI 26.02.2012.rar (65,6 kB - 17 mal heruntergeladen - zuletzt: 27.02.2012, 19:56)

  • Sieht schonmal nicht schlecht aus, aber ich würde es ein wenig schmaler machen und mit diesem "Spiegel"-Effekt (s. Original) würde es noch besser aussehen.
    Du könntest ja jetzt noch versuchen per Emulator das HTC-Betriebsystem ins Smartphone einzubauen.

    [autoit]


    Func Ulam($n)
    Return 1
    EndFunc

    [/autoit]


    Rekursion FTW :D

  • Sieht gut aus!

    Du könntest ja jetzt noch versuchen per Emulator das HTC-Betriebsystem ins Smartphone einzubauen.

    8| Ich glaube kaum, dass das geht. Und wenn, dann wäre es ein bombastischer Aufwand, das selbst zu coden.

  • Danke für die Feedbacks ;)

    Joah das Androidsystem da zu includieren werd ich sicher nicht machen.

    Aber dank machbarer Hover Effekten und GUI HIDE/SHOW Befehlen kann man, denke ich, locker eine Art Menü mit Funktion nachbasteln.

    Werd mich da mal ranmachen...

    Was aktuell in dem jetzigen Code nicht funktioniert ist die Minimize Funktion... bin aber am überlegen ob ich die generell einfach entferne.

    Schmaler ewrd ich's auch noch etwas machen - ist mir gestern Nacht dann später auch aufgfallen im Vergleich zum originalen Bild ^^

    Mein AutoIT Smartphone GUI >>hier<<

    Der Mensch ist das einzige Tier, dass arbeiten muss.

  • Du müsstest den Emulator ja nicht komplett selber programmieren. Es gibt ja für die Android-Entwickler Emulatoren zum Testen ihrer Programme/Spiele ohne jedes mal ein Smartphone anzuschließen.
    Es würde ja reichen, sich so einen downloadzuloaden und per WinApi den Fensterrahmen zu entfernen und den Emulator als ChildGui an deine Gui zu hängen.

    [autoit]


    Func Ulam($n)
    Return 1
    EndFunc

    [/autoit]


    Rekursion FTW :D

  • Ich habe das ganze jetzt mal etwas weiterentwickelt... der Code ist zwar sicherlich nicht der sauberste - erfüllt aber seinen Zweck. Neue Dateien + Quellcode sind im ersten Beitrag neu eingefügt und die alten habe ich entfernt.

    *Neuerungen*
    Man kann, nachdem das Handy geöffnet wurde, unten den "Menu" Button klicken. Daraufhin öffnet sich das Handymenü... natürlich noch ohne Funktion - das kann dann später evtl mal kommen.

    Hier brauche ich jedoch Hilfe von Euch. Der Menu-Button ruft eine While-Schleife auf. Solange diese Schleife aktiv ist, funktioniert zwar das Hauptmenü - jedoch sind natürlich alle anderen Sachen dann deaktiviert (wie zum Beispiel der Close/Exit-Button etc.

    Wie kann ich die Whileschleife verlassen, so das alles weiterhin funktioniert? Exitloop brachte nicht das gewünschte Ergebniss, da dann zwar so im allgemeinem alles funktioniert - jedoch das Hauptmenü mit den Hovereffekten dann ausser Kraft gesetzt wird.

    Mein AutoIT Smartphone GUI >>hier<<

    Der Mensch ist das einzige Tier, dass arbeiten muss.

  • Moin,

    Das liegt daran, dass du in einem Event (was eigentlich schnellstmöglich erledigt sein sollte) eine Hauptschleife einbaust.
    In einem Event funktionieren keine anderen Events.

    Daher kann man in der Hauptschleife eine Selektion durchführen, die festlegt auf welchem Bildschirm man sich gerade befindet. Mit dem Event wird dann nur eine Zahl geändert. (das geht sehr schnell).

    Bissl dran rumgebastelt:

    Spoiler anzeigen
    [autoit]

    #include <WindowsConstants.au3>
    #include <GUIConstants.au3>
    #include <WinAPI.au3>
    #include <GDIPlus.au3>
    #include 'Buttons.au3'

    [/autoit] [autoit][/autoit] [autoit]

    Opt("GUIOnEventMode", 1)
    Opt("MouseCoordMode", 2) ;Damit die Koords der Maus auf dem Button korrekt erkannt werden.

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_Startup()

    [/autoit] [autoit][/autoit] [autoit]

    $Title = "HTC Desire HD"
    $Width = 300
    $Height = 500
    $pics = @ScriptDir & "\images\"

    [/autoit] [autoit][/autoit] [autoit]

    ; Konstanten
    Global Const $BgColorTitle = 0x000000
    Global Const $BgColor = 0x464646

    [/autoit] [autoit][/autoit] [autoit]

    ; Handyrahmen aussen
    $hWnd_Main = GUICreate($Title, $Width, $Height, -1, -1, $WS_POPUP)
    GUISetBkColor($BgColor)
    $Close = GUICtrlCreatePic($pics & "close.bmp", $Width - 16, 7, 9, 9)
    GUICtrlSetOnEvent($Close, "_Exit")
    $TitleBar = GUICtrlCreateLabel("", 6, 4, $Width - 42, 17, -1, $GUI_WS_EX_PARENTDRAG)
    GUICtrlCreatePic($pics & "HTC-Lautsprecher.bmp", 65, 6, 180, 10)

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState()

    [/autoit] [autoit][/autoit] [autoit]

    ; Handydisplay erstellen
    $hWnd_Child1 = GUICreate("", 290, 475, 5, 20, $WS_POPUP)
    GUISetBkColor(0xFFFFFF, $hWnd_Child1)

    [/autoit] [autoit][/autoit] [autoit]

    ;~ GUICtrlCreatePic($pics & "HTC-Brilliant.bmp", 15, 130, 260, 165)
    Global $hImg_HTC_Brilliant = _GDIPlus_ImageLoadFromFile($pics & "HTC-Brilliant.bmp")

    [/autoit] [autoit][/autoit] [autoit]

    $home_button = GUICtrlCreatePic($pics & "menu1.bmp", 15, 410, 51, 38)
    GUICtrlSetOnEvent($home_button, "_home_button")
    $menu_button = GUICtrlCreatePic($pics & "menu2.bmp", 66, 410, 82, 38)
    GUICtrlSetOnEvent($menu_button, "_menu_button")
    GUICtrlCreatePic($pics & "menu3.bmp", 148, 410, 76, 38)
    GUICtrlCreatePic($pics & "menu4.bmp", 224, 410, 49, 38)
    GUICtrlCreatePic($pics & "HTC-Logo.bmp", 120, 445, 55, 20)

    [/autoit] [autoit][/autoit] [autoit]

    Global Const $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hWnd_Child1)
    Global Const $hBitmap = _GDIPlus_BitmapCreateFromGraphics($Width, 410, $hGraphic)
    Global Const $hBackbuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)

    [/autoit] [autoit][/autoit] [autoit]

    ; Hintergrund/Rahmen des Handydisplays
    GUICtrlCreateGraphic(0, 0, 330, 12)
    GUICtrlSetBkColor(-1, $BgColorTitle)
    GUICtrlCreateGraphic(0, 0, 10, $Height)
    GUICtrlSetBkColor(-1, $BgColorTitle)
    GUICtrlCreateGraphic(0, 410, $Width, 80)
    GUICtrlSetBkColor(-1, $BgColorTitle)
    GUICtrlCreateGraphic(280, 0, 20, $Height)
    GUICtrlSetBkColor(-1, $BgColorTitle)

    [/autoit] [autoit][/autoit] [autoit]

    ; Menü
    Global $hButton1 = _Button_Init(20, 30, 45, 45, 1)
    _Button_Set_Pic($hButton1, 0, $pics & 'home1.bmp')
    _Button_Set_Pic($hButton1, 1, $pics & 'home2.bmp')
    _Button_Set_Pic($hButton1, 2, $pics & 'home3.bmp')
    _Button_Set_Ani_Speed($hButton1, 30, 14, 7)

    [/autoit] [autoit][/autoit] [autoit]

    Global $hButton2 = _Button_Init(120, 30, 45, 45, 2)
    _Button_Set_Pic($hButton2, 0, $pics & 'info1.bmp')
    _Button_Set_Pic($hButton2, 1, $pics & 'info2.bmp')
    _Button_Set_Pic($hButton2, 2, $pics & 'info3.bmp')
    _Button_Set_Ani_Speed($hButton2, 30, 14, 7)

    [/autoit] [autoit][/autoit] [autoit]

    Global $hButton3 = _Button_Init(220, 30, 45, 45, 3)
    _Button_Set_Pic($hButton3, 0, $pics & 'alben1.bmp')
    _Button_Set_Pic($hButton3, 1, $pics & 'alben2.bmp')
    _Button_Set_Pic($hButton3, 2, $pics & 'alben3.bmp')
    _Button_Set_Ani_Speed($hButton3, 30, 14, 7)

    [/autoit] [autoit][/autoit] [autoit]

    Global $hButton4 = _Button_Init(20, 100, 45, 45, 4)
    _Button_Set_Pic($hButton4, 0, $pics & 'media1.bmp')
    _Button_Set_Pic($hButton4, 1, $pics & 'media2.bmp')
    _Button_Set_Pic($hButton4, 2, $pics & 'media3.bmp')
    _Button_Set_Ani_Speed($hButton4, 30, 14, 7)

    [/autoit] [autoit][/autoit] [autoit]

    Global $hButton5 = _Button_Init(120, 100, 45, 45, 5)
    _Button_Set_Pic($hButton5, 0, $pics & 'kamera1.bmp')
    _Button_Set_Pic($hButton5, 1, $pics & 'kamera2.bmp')
    _Button_Set_Pic($hButton5, 2, $pics & 'kamera3.bmp')
    _Button_Set_Ani_Speed($hButton5, 30, 14, 7)

    [/autoit] [autoit][/autoit] [autoit]

    Global $hButton6 = _Button_Init(220, 100, 45, 45, 6)
    _Button_Set_Pic($hButton6, 0, $pics & 'nachrichten1.bmp')
    _Button_Set_Pic($hButton6, 1, $pics & 'nachrichten2.bmp')
    _Button_Set_Pic($hButton6, 2, $pics & 'nachrichten3.bmp')
    _Button_Set_Ani_Speed($hButton6, 30, 14, 7)

    [/autoit] [autoit][/autoit] [autoit]

    Global $hButton7 = _Button_Init(20, 170, 45, 45, 7)
    _Button_Set_Pic($hButton7, 0, $pics & 'home1.bmp')
    _Button_Set_Pic($hButton7, 1, $pics & 'home2.bmp')
    _Button_Set_Pic($hButton7, 2, $pics & 'home3.bmp')
    _Button_Set_Ani_Speed($hButton7, 30, 14, 7)

    [/autoit] [autoit][/autoit] [autoit]

    Global $hButton8 = _Button_Init(120, 170, 45, 45, 8)
    _Button_Set_Pic($hButton8, 0, $pics & 'home1.bmp')
    _Button_Set_Pic($hButton8, 1, $pics & 'home2.bmp')
    _Button_Set_Pic($hButton8, 2, $pics & 'home3.bmp')
    _Button_Set_Ani_Speed($hButton8, 30, 14, 7)

    [/autoit] [autoit][/autoit] [autoit]

    Global $hButton9 = _Button_Init(220, 170, 45, 45, "test")
    _Button_Set_Pic($hButton9, 0, $pics & 'home1.bmp')
    _Button_Set_Pic($hButton9, 1, $pics & 'home2.bmp')
    _Button_Set_Pic($hButton9, 2, $pics & 'home3.bmp')
    _Button_Set_Ani_Speed($hButton9, 30, 14, 7)

    [/autoit] [autoit][/autoit] [autoit]

    Global $Btn_msg
    Global $pos, $klick
    Global $Temp
    Global $Anzeige = 0 ; 0 = home, 1 = Menu, usw...
    Local $t = TimerInit()

    [/autoit] [autoit][/autoit] [autoit]

    ; Display an Handyrahmen "koppeln"
    _SetParent($hWnd_Main, $hWnd_Child1)

    [/autoit] [autoit][/autoit] [autoit]

    ; Gui einblenden
    GuiRoundCorners($hWnd_Main, 0, 0, 20, 20)
    GuiRoundCorners($hWnd_Child1, 0, 0, 20, 20)
    WinSetTrans($hWnd_Main, "", 0)
    WinSetTrans($hWnd_Child1, "", 0)
    GUISetState(@SW_SHOW, $hWnd_Main)
    GUISetState(@SW_SHOW, $hWnd_Child1)
    FadeIn($hWnd_Main)

    [/autoit] [autoit][/autoit] [autoit]

    While Sleep(20)

    [/autoit] [autoit][/autoit] [autoit]

    Switch $Anzeige
    Case 0 ; Home
    _home()
    Case 1 ; Menu
    _menu()
    EndSwitch

    [/autoit] [autoit][/autoit] [autoit]

    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    ; Funktionen
    Func _SetParent($hWnd_Parent, $hWnd_Child)
    $nExStyle = DllCall("user32.dll", "int", "GetWindowLong", "hwnd", $hWnd_Child, "int", 0xEC)
    DllCall("user32.dll", "int", "SetWindowLong", "hwnd", $hWnd_Child, "int", 0xEC, "int", BitOR($nExStyle[0], $WS_EX_MDICHILD))
    DllCall("user32.dll", "int", "SetParent", "hwnd", $hWnd_Child, "hwnd", $hWnd_Parent)
    GUISwitch($hWnd_Parent)
    EndFunc ;==> _SetParent

    [/autoit] [autoit][/autoit] [autoit]

    Func GuiRoundCorners($h_win, $i_x1, $i_y1, $i_x3, $i_y3)
    $pos = WinGetPos($h_win)
    $ret = DllCall("gdi32.dll", "long", "CreateRoundRectRgn", "long", $i_x1, "long", $i_y1, "long", $pos[2], "long", $pos[3], "long", $i_x3, "long", $i_y3)
    If $ret[0] Then
    $ret2 = DllCall("user32.dll", "long", "SetWindowRgn", "hwnd", $h_win, "long", $ret[0], "int", 1)
    If $ret2[0] Then
    Return 1
    Else
    Return 0
    EndIf
    Else
    Return 0
    EndIf
    EndFunc ;==>GuiRoundCorners

    [/autoit] [autoit][/autoit] [autoit]

    Func FadeIn($h)
    For $i = 0 To 255 Step 15
    Sleep(10)
    WinSetTrans($h, "", $i)
    Next
    EndFunc ;==>FadeIn

    [/autoit] [autoit][/autoit] [autoit]

    Func FadeOut($h)
    For $i = 255 To 0 Step -15
    Sleep(10)
    WinSetTrans($h, "", $i)
    Next
    EndFunc ;==>FadeOut

    [/autoit] [autoit][/autoit] [autoit]

    Func _Exit()
    FadeOut($hWnd_Main)
    GUIDelete($hWnd_Child1)

    [/autoit] [autoit][/autoit] [autoit]

    _Button_Dispose($hButton1)
    _Button_Dispose($hButton2)
    _Button_Dispose($hButton3)
    _Button_Dispose($hButton4)
    _Button_Dispose($hButton5)
    _Button_Dispose($hButton6)
    _Button_Dispose($hButton7)
    _Button_Dispose($hButton8)
    _Button_Dispose($hButton9)

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_GraphicsDispose($hBackbuffer)
    _GDIPlus_BitmapDispose($hBitmap)
    _GDIPlus_GraphicsDispose($hGraphic)
    _GDIPlus_Shutdown()
    Exit
    EndFunc ;==>_Exit

    [/autoit] [autoit][/autoit] [autoit]

    Func _menu()
    ;~ While Sleep(10)
    _GDIPlus_GraphicsClear($hBackbuffer, 0xFF000000)
    $Btn_msg = _Button_Get_Pressed()
    _Button_Draw($hBackbuffer, $hButton1)
    _Button_Draw($hBackbuffer, $hButton2)
    _Button_Draw($hBackbuffer, $hButton3)
    _Button_Draw($hBackbuffer, $hButton4)
    _Button_Draw($hBackbuffer, $hButton5)
    _Button_Draw($hBackbuffer, $hButton6)
    _Button_Draw($hBackbuffer, $hButton7)
    _Button_Draw($hBackbuffer, $hButton8)
    _Button_Draw($hBackbuffer, $hButton9)
    _GDIPlus_GraphicsDrawImage($hGraphic, $hBitmap, 0, 0)
    If $Btn_msg Then ToolTip('ButtonID: ' & $Btn_msg)
    ;Exitloop
    ;~ WEnd
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _menu_button() ; Eventfunktion... schnell abwickeln !
    $Anzeige = 1 ; ab ins Menu !
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _home_button() ; Eventfunktion... schnell abwickeln !
    $Anzeige = 0 ; Home
    EndFunc ;==>_home_button

    [/autoit] [autoit][/autoit] [autoit]

    Func _home()

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_GraphicsClear($hBackbuffer, 0xFFFFFFFF)

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_GraphicsDrawImageRect($hBackbuffer, $hImg_HTC_Brilliant, 15, 130, 260, 165)

    [/autoit] [autoit][/autoit] [autoit]

    ; Hier was auch immer du willst...

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_GraphicsDrawImage($hGraphic, $hBitmap, 0, 0)

    [/autoit] [autoit][/autoit] [autoit]

    ;~ GUISetBkColor(0xFFFFFF, $hWnd_Child1)
    ;~ GUICtrlCreatePic($pics & "HTC-Brilliant.bmp", 15, 130, 260, 165)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    EndFunc

    [/autoit]


    lg
    M

  • Ok vielen Dank... hab mir den geänderten Code mal angeschaut und sieht im nachhinein natürlich schlüssig aus ;)

    Hab nun versucht das ganze zu erweitern. Unten im Handydisplay sieht man ja die Lupe. Dort soll nun im Display ein Browserfenster aufgehen. Soweit funktioniert das Browserfenster ja auch.... wenn da nicht das Problem mit der Whileschleife wäre. Natürlich wird ja nun auch das Browserfenster im 50MS Takt aktualisiert. Wie das aussieht kann sich jeder vorstellen.

    Also habe ich probiert, das Browserfenster so einzubauen, wie ich es vorher bei meinen "alten" Funktionen hatte. Dort aktualisiert es sich zwar nicht, aber wird von dem vorherigen Menu was ich offen hatte, überlagert. Das heißt, man sieht den Browser für 50ms, danach wird sofort das Menü oder das HTC Bild drüber gelegt (je nachdem welches Menü vorher offen war).

    Schwer zu erklären... ich poste einfach nochmal den aktuellen Code wo er den Browser permanent aktualisiert. Leider sind meine Kenntniss unzureichend, dieses Problem alleine zu lösen, da mein eigener Versuch gescheitert ist.

    Spoiler anzeigen
    [autoit]


    #include <WindowsConstants.au3>
    #include <GUIConstants.au3>
    #include <WinAPI.au3>
    #include <GDIPlus.au3>
    #include <IE.au3>
    #include 'Buttons.au3'

    [/autoit] [autoit][/autoit] [autoit]

    Opt("GUIOnEventMode", 1)
    Opt("MouseCoordMode", 2) ;Damit die Koords der Maus auf dem Button korrekt erkannt werden.

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_Startup()

    [/autoit] [autoit][/autoit] [autoit]

    $Title = "HTC Desire HD"
    $Width = 300
    $Height = 500
    $pics = @ScriptDir & "\images\"

    [/autoit] [autoit][/autoit] [autoit]

    ; Konstanten
    Global Const $BgColorTitle = 0x000000
    Global Const $BgColor = 0x464646

    [/autoit] [autoit][/autoit] [autoit]

    ; Handyrahmen aussen
    $hWnd_Main = GUICreate($Title, $Width, $Height, -1, -1, $WS_POPUP)
    GUISetBkColor($BgColor)
    $Close = GUICtrlCreatePic($pics & "close.bmp", $Width - 16, 7, 9, 9)
    GUICtrlSetOnEvent($Close, "_Exit")
    $TitleBar = GUICtrlCreateLabel("", 6, 4, $Width - 42, 17, -1, $GUI_WS_EX_PARENTDRAG)
    GUICtrlCreatePic($pics & "HTC-Lautsprecher.bmp", 65, 6, 180, 10)

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState()

    [/autoit] [autoit][/autoit] [autoit]

    ; Handydisplay erstellen
    $hWnd_Child1 = GUICreate("", 290, 475, 5, 20, $WS_POPUP)
    GUISetBkColor(0xFFFFFF, $hWnd_Child1)

    [/autoit] [autoit][/autoit] [autoit]

    ;~ GUICtrlCreatePic($pics & "HTC-Brilliant.bmp", 15, 130, 260, 165)
    Global $hImg_HTC_Brilliant = _GDIPlus_ImageLoadFromFile($pics & "HTC-Brilliant.bmp")

    [/autoit] [autoit][/autoit] [autoit]

    $home_button = GUICtrlCreatePic($pics & "menu1.bmp", 15, 410, 51, 38)
    GUICtrlSetOnEvent($home_button, "_home_button")
    $menu_button = GUICtrlCreatePic($pics & "menu2.bmp", 66, 410, 82, 38)
    GUICtrlSetOnEvent($menu_button, "_menu_button")
    GUICtrlCreatePic($pics & "menu3.bmp", 148, 410, 76, 38)
    $suche_button = GUICtrlCreatePic($pics & "menu4.bmp", 224, 410, 49, 38)
    GUICtrlSetOnEvent($suche_button, "_suche_button")
    GUICtrlCreatePic($pics & "HTC-Logo.bmp", 120, 445, 55, 20)

    [/autoit] [autoit][/autoit] [autoit]

    Global Const $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hWnd_Child1)
    Global Const $hBitmap = _GDIPlus_BitmapCreateFromGraphics($Width, 410, $hGraphic)
    Global Const $hBackbuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)
    Global Const $hBitmap1 = _GDIPlus_BitmapCreateFromGraphics(270, 370, $hGraphic)
    Global Const $hBackbuffer1 = _GDIPlus_ImageGetGraphicsContext($hBitmap1)

    [/autoit] [autoit][/autoit] [autoit]

    ; Hintergrund/Rahmen des Handydisplays
    GUICtrlCreateGraphic(0, 0, 330, 12)
    GUICtrlSetBkColor(-1, $BgColorTitle)
    GUICtrlCreateGraphic(0, 0, 10, $Height)
    GUICtrlSetBkColor(-1, $BgColorTitle)
    GUICtrlCreateGraphic(0, 410, $Width, 80)
    GUICtrlSetBkColor(-1, $BgColorTitle)
    GUICtrlCreateGraphic(280, 0, 20, $Height)
    GUICtrlSetBkColor(-1, $BgColorTitle)

    [/autoit] [autoit][/autoit] [autoit]

    ; Menü
    Global $hButton1 = _Button_Init(20, 30, 45, 45, 1)
    _Button_Set_Pic($hButton1, 0, $pics & 'home1.bmp')
    _Button_Set_Pic($hButton1, 1, $pics & 'home2.bmp')
    _Button_Set_Pic($hButton1, 2, $pics & 'home3.bmp')
    _Button_Set_Ani_Speed($hButton1, 30, 14, 7)

    [/autoit] [autoit][/autoit] [autoit]

    Global $hButton2 = _Button_Init(120, 30, 45, 45, 2)
    _Button_Set_Pic($hButton2, 0, $pics & 'info1.bmp')
    _Button_Set_Pic($hButton2, 1, $pics & 'info2.bmp')
    _Button_Set_Pic($hButton2, 2, $pics & 'info3.bmp')
    _Button_Set_Ani_Speed($hButton2, 30, 14, 7)

    [/autoit] [autoit][/autoit] [autoit]

    Global $hButton3 = _Button_Init(220, 30, 45, 45, 3)
    _Button_Set_Pic($hButton3, 0, $pics & 'alben1.bmp')
    _Button_Set_Pic($hButton3, 1, $pics & 'alben2.bmp')
    _Button_Set_Pic($hButton3, 2, $pics & 'alben3.bmp')
    _Button_Set_Ani_Speed($hButton3, 30, 14, 7)

    [/autoit] [autoit][/autoit] [autoit]

    Global $hButton4 = _Button_Init(20, 100, 45, 45, 4)
    _Button_Set_Pic($hButton4, 0, $pics & 'media1.bmp')
    _Button_Set_Pic($hButton4, 1, $pics & 'media2.bmp')
    _Button_Set_Pic($hButton4, 2, $pics & 'media3.bmp')
    _Button_Set_Ani_Speed($hButton4, 30, 14, 7)

    [/autoit] [autoit][/autoit] [autoit]

    Global $hButton5 = _Button_Init(120, 100, 45, 45, 5)
    _Button_Set_Pic($hButton5, 0, $pics & 'kamera1.bmp')
    _Button_Set_Pic($hButton5, 1, $pics & 'kamera2.bmp')
    _Button_Set_Pic($hButton5, 2, $pics & 'kamera3.bmp')
    _Button_Set_Ani_Speed($hButton5, 30, 14, 7)

    [/autoit] [autoit][/autoit] [autoit]

    Global $hButton6 = _Button_Init(220, 100, 45, 45, 6)
    _Button_Set_Pic($hButton6, 0, $pics & 'nachrichten1.bmp')
    _Button_Set_Pic($hButton6, 1, $pics & 'nachrichten2.bmp')
    _Button_Set_Pic($hButton6, 2, $pics & 'nachrichten3.bmp')
    _Button_Set_Ani_Speed($hButton6, 30, 14, 7)

    [/autoit] [autoit][/autoit] [autoit]

    Global $hButton7 = _Button_Init(20, 170, 45, 45, 7)
    _Button_Set_Pic($hButton7, 0, $pics & 'home1.bmp')
    _Button_Set_Pic($hButton7, 1, $pics & 'home2.bmp')
    _Button_Set_Pic($hButton7, 2, $pics & 'home3.bmp')
    _Button_Set_Ani_Speed($hButton7, 30, 14, 7)

    [/autoit] [autoit][/autoit] [autoit]

    Global $hButton8 = _Button_Init(120, 170, 45, 45, 8)
    _Button_Set_Pic($hButton8, 0, $pics & 'home1.bmp')
    _Button_Set_Pic($hButton8, 1, $pics & 'home2.bmp')
    _Button_Set_Pic($hButton8, 2, $pics & 'home3.bmp')
    _Button_Set_Ani_Speed($hButton8, 30, 14, 7)

    [/autoit] [autoit][/autoit] [autoit]

    Global $hButton9 = _Button_Init(220, 170, 45, 45, "test")
    _Button_Set_Pic($hButton9, 0, $pics & 'home1.bmp')
    _Button_Set_Pic($hButton9, 1, $pics & 'home2.bmp')
    _Button_Set_Pic($hButton9, 2, $pics & 'home3.bmp')
    _Button_Set_Ani_Speed($hButton9, 30, 14, 7)

    [/autoit] [autoit][/autoit] [autoit]

    Global $Btn_msg
    Global $pos, $klick
    Global $Temp
    Global $Anzeige = 0 ; 0 = home, 1 = Menu, usw...
    Local $t = TimerInit()

    [/autoit] [autoit][/autoit] [autoit]

    ; Display an Handyrahmen "koppeln"
    _SetParent($hWnd_Main, $hWnd_Child1)

    [/autoit] [autoit][/autoit] [autoit]

    ; Gui einblenden
    GuiRoundCorners($hWnd_Main, 0, 0, 20, 20)
    GuiRoundCorners($hWnd_Child1, 0, 0, 20, 20)
    WinSetTrans($hWnd_Main, "", 0)
    WinSetTrans($hWnd_Child1, "", 0)
    GUISetState(@SW_SHOW, $hWnd_Main)
    GUISetState(@SW_SHOW, $hWnd_Child1)
    FadeIn($hWnd_Main)

    [/autoit] [autoit][/autoit] [autoit]

    While Sleep(50)

    [/autoit] [autoit][/autoit] [autoit]

    Switch $Anzeige
    Case 0 ; Home
    _home()
    Case 1 ; Menu
    _menu()
    Case 2 ; Suche
    _suche()
    EndSwitch

    [/autoit] [autoit][/autoit] [autoit]

    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    ; Funktionen
    Func _SetParent($hWnd_Parent, $hWnd_Child)
    $nExStyle = DllCall("user32.dll", "int", "GetWindowLong", "hwnd", $hWnd_Child, "int", 0xEC)
    DllCall("user32.dll", "int", "SetWindowLong", "hwnd", $hWnd_Child, "int", 0xEC, "int", BitOR($nExStyle[0], $WS_EX_MDICHILD))
    DllCall("user32.dll", "int", "SetParent", "hwnd", $hWnd_Child, "hwnd", $hWnd_Parent)
    GUISwitch($hWnd_Parent)
    EndFunc ;==> _SetParent

    [/autoit] [autoit][/autoit] [autoit]

    Func GuiRoundCorners($h_win, $i_x1, $i_y1, $i_x3, $i_y3)
    $pos = WinGetPos($h_win)
    $ret = DllCall("gdi32.dll", "long", "CreateRoundRectRgn", "long", $i_x1, "long", $i_y1, "long", $pos[2], "long", $pos[3], "long", $i_x3, "long", $i_y3)
    If $ret[0] Then
    $ret2 = DllCall("user32.dll", "long", "SetWindowRgn", "hwnd", $h_win, "long", $ret[0], "int", 1)
    If $ret2[0] Then
    Return 1
    Else
    Return 0
    EndIf
    Else
    Return 0
    EndIf
    EndFunc ;==>GuiRoundCorners

    [/autoit] [autoit][/autoit] [autoit]

    Func FadeIn($h)
    For $i = 0 To 255 Step 15
    Sleep(10)
    WinSetTrans($h, "", $i)
    Next
    EndFunc ;==>FadeIn

    [/autoit] [autoit][/autoit] [autoit]

    Func FadeOut($h)
    For $i = 255 To 0 Step -15
    Sleep(10)
    WinSetTrans($h, "", $i)
    Next
    EndFunc ;==>FadeOut

    [/autoit] [autoit][/autoit] [autoit]

    Func _Exit()
    FadeOut($hWnd_Main)
    GUIDelete($hWnd_Child1)

    [/autoit] [autoit][/autoit] [autoit]

    _Button_Dispose($hButton1)
    _Button_Dispose($hButton2)
    _Button_Dispose($hButton3)
    _Button_Dispose($hButton4)
    _Button_Dispose($hButton5)
    _Button_Dispose($hButton6)
    _Button_Dispose($hButton7)
    _Button_Dispose($hButton8)
    _Button_Dispose($hButton9)

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_GraphicsDispose($hBackbuffer)
    _GDIPlus_BitmapDispose($hBitmap)
    _GDIPlus_GraphicsDispose($hGraphic)
    _GDIPlus_Shutdown()
    Exit
    EndFunc ;==>_Exit

    [/autoit] [autoit][/autoit] [autoit]

    Func _home_button()
    $Anzeige = 0
    EndFunc ;==>_home_button

    [/autoit] [autoit][/autoit] [autoit]

    Func _menu_button()
    $Anzeige = 1
    EndFunc ;==>_menu_button

    [/autoit] [autoit][/autoit] [autoit]

    Func _suche_button()
    $Anzeige = 2
    EndFunc ;==>_menu_button

    [/autoit] [autoit][/autoit] [autoit]

    Func _home()
    _GDIPlus_GraphicsClear($hBackbuffer1, 0xFFFFFFFF)
    _GDIPlus_GraphicsDrawImageRect($hBackbuffer1, $hImg_HTC_Brilliant, 5, 120, 260, 165)
    ; Hier was auch immer du willst...
    _GDIPlus_GraphicsDrawImage($hGraphic, $hBitmap1, 10, 10)
    EndFunc ;==>_home

    [/autoit] [autoit][/autoit] [autoit]

    Func _menu()
    _GDIPlus_GraphicsClear($hBackbuffer, 0xFF000000)
    $Btn_msg = _Button_Get_Pressed()
    _Button_Draw($hBackbuffer, $hButton1)
    _Button_Draw($hBackbuffer, $hButton2)
    _Button_Draw($hBackbuffer, $hButton3)
    _Button_Draw($hBackbuffer, $hButton4)
    _Button_Draw($hBackbuffer, $hButton5)
    _Button_Draw($hBackbuffer, $hButton6)
    _Button_Draw($hBackbuffer, $hButton7)
    _Button_Draw($hBackbuffer, $hButton8)
    _Button_Draw($hBackbuffer, $hButton9)
    _GDIPlus_GraphicsDrawImage($hGraphic, $hBitmap, 0, 0)
    If $Btn_msg Then ToolTip('ButtonID: ' & $Btn_msg)
    EndFunc ;==>_menu

    Func _suche()
    _GDIPlus_GraphicsClear($hBackbuffer, 0xFF000000)
    $IE = _IECreateEmbedded()
    $browser = GUICtrlCreateObj($IE, 11, 13, 268, 395, BitOR($WS_VSCROLL, $WS_HSCROLL))
    _IENavigate($IE,"http://www.google.de")
    _GDIPlus_GraphicsDrawImage($hGraphic, $hBitmap, 0, 0)
    EndFunc ;==>_suche_button

    [/autoit]

    Mein AutoIT Smartphone GUI >>hier<<

    Der Mensch ist das einzige Tier, dass arbeiten muss.

  • Meinste so?

    Spoiler anzeigen
    [autoit]

    #include <WindowsConstants.au3>
    #include <GUIConstants.au3>
    #include <WinAPI.au3>
    #include <GDIPlus.au3>
    #include 'Buttons.au3'
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <IE.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Opt("GUIOnEventMode", 1)
    Opt("MouseCoordMode", 2) ;Damit die Koords der Maus auf dem Button korrekt erkannt werden.

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_Startup()

    [/autoit] [autoit][/autoit] [autoit]

    $Title = "HTC Desire HD"
    $Width = 300
    $Height = 500
    $pics = @ScriptDir & "\images\"

    [/autoit] [autoit][/autoit] [autoit]

    ; Konstanten
    Global Const $BgColorTitle = 0x000000
    Global Const $BgColor = 0x464646

    [/autoit] [autoit][/autoit] [autoit]

    ; Handyrahmen aussen
    $hWnd_Main = GUICreate($Title, $Width, $Height, -1, -1, $WS_POPUP)
    GUISetBkColor($BgColor)
    $Close = GUICtrlCreatePic($pics & "close.bmp", $Width - 16, 7, 9, 9)
    GUICtrlSetOnEvent($Close, "_Exit")
    $TitleBar = GUICtrlCreateLabel("", 6, 4, $Width - 42, 17, -1, $GUI_WS_EX_PARENTDRAG)
    GUICtrlCreatePic($pics & "HTC-Lautsprecher.bmp", 65, 6, 180, 10)

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState()

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ; Handydisplay erstellen
    $hWnd_Child1 = GUICreate("", 290, 475, 5, 20, $WS_POPUP)
    GUISetBkColor(0xFFFFFF, $hWnd_Child1)

    [/autoit] [autoit][/autoit] [autoit]

    $IE = _IECreateEmbedded()
    $browser = GUICtrlCreateObj($IE, 11, 13, 268, 395)
    GUICtrlSetState($browser, $GUI_HIDE)

    [/autoit] [autoit][/autoit] [autoit]

    ;~ GUICtrlCreatePic($pics & "HTC-Brilliant.bmp", 15, 130, 260, 165)
    Global $hImg_HTC_Brilliant = _GDIPlus_ImageLoadFromFile($pics & "HTC-Brilliant.bmp")

    [/autoit] [autoit][/autoit] [autoit]

    $home_button = GUICtrlCreatePic($pics & "menu1.bmp", 15, 410, 51, 38)
    GUICtrlSetOnEvent($home_button, "_home_button")
    $menu_button = GUICtrlCreatePic($pics & "menu2.bmp", 66, 410, 82, 38)
    GUICtrlSetOnEvent($menu_button, "_menu_button")
    $back_button = GUICtrlCreatePic($pics & "menu3.bmp", 148, 410, 76, 38)
    GUICtrlSetOnEvent($back_button, "_back_button")
    $suche_button = GUICtrlCreatePic($pics & "menu4.bmp", 224, 410, 49, 38)
    GUICtrlSetOnEvent($suche_button, "_suche_button")
    GUICtrlCreatePic($pics & "HTC-Logo.bmp", 120, 445, 55, 20)

    [/autoit] [autoit][/autoit] [autoit]

    Global Const $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hWnd_Child1)
    Global Const $hBitmap = _GDIPlus_BitmapCreateFromGraphics($Width, 410, $hGraphic)
    Global Const $hBackbuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)

    [/autoit] [autoit][/autoit] [autoit]

    ; Hintergrund/Rahmen des Handydisplays
    GUICtrlCreateGraphic(0, 0, 330, 12)
    GUICtrlSetBkColor(-1, $BgColorTitle)
    GUICtrlCreateGraphic(0, 0, 10, $Height)
    GUICtrlSetBkColor(-1, $BgColorTitle)
    GUICtrlCreateGraphic(0, 410, $Width, 80)
    GUICtrlSetBkColor(-1, $BgColorTitle)
    GUICtrlCreateGraphic(280, 0, 20, $Height)
    GUICtrlSetBkColor(-1, $BgColorTitle)

    [/autoit] [autoit][/autoit] [autoit]

    ; Menü
    Global $hButton1 = _Button_Init(20, 30, 45, 45, 1)
    _Button_Set_Pic($hButton1, 0, $pics & 'home1.bmp')
    _Button_Set_Pic($hButton1, 1, $pics & 'home2.bmp')
    _Button_Set_Pic($hButton1, 2, $pics & 'home3.bmp')
    _Button_Set_Ani_Speed($hButton1, 30, 14, 7)

    [/autoit] [autoit][/autoit] [autoit]

    Global $hButton2 = _Button_Init(120, 30, 45, 45, 2)
    _Button_Set_Pic($hButton2, 0, $pics & 'info1.bmp')
    _Button_Set_Pic($hButton2, 1, $pics & 'info2.bmp')
    _Button_Set_Pic($hButton2, 2, $pics & 'info3.bmp')
    _Button_Set_Ani_Speed($hButton2, 30, 14, 7)

    [/autoit] [autoit][/autoit] [autoit]

    Global $hButton3 = _Button_Init(220, 30, 45, 45, 3)
    _Button_Set_Pic($hButton3, 0, $pics & 'alben1.bmp')
    _Button_Set_Pic($hButton3, 1, $pics & 'alben2.bmp')
    _Button_Set_Pic($hButton3, 2, $pics & 'alben3.bmp')
    _Button_Set_Ani_Speed($hButton3, 30, 14, 7)

    [/autoit] [autoit][/autoit] [autoit]

    Global $hButton4 = _Button_Init(20, 100, 45, 45, 4)
    _Button_Set_Pic($hButton4, 0, $pics & 'media1.bmp')
    _Button_Set_Pic($hButton4, 1, $pics & 'media2.bmp')
    _Button_Set_Pic($hButton4, 2, $pics & 'media3.bmp')
    _Button_Set_Ani_Speed($hButton4, 30, 14, 7)

    [/autoit] [autoit][/autoit] [autoit]

    Global $hButton5 = _Button_Init(120, 100, 45, 45, 5)
    _Button_Set_Pic($hButton5, 0, $pics & 'kamera1.bmp')
    _Button_Set_Pic($hButton5, 1, $pics & 'kamera2.bmp')
    _Button_Set_Pic($hButton5, 2, $pics & 'kamera3.bmp')
    _Button_Set_Ani_Speed($hButton5, 30, 14, 7)

    [/autoit] [autoit][/autoit] [autoit]

    Global $hButton6 = _Button_Init(220, 100, 45, 45, 6)
    _Button_Set_Pic($hButton6, 0, $pics & 'nachrichten1.bmp')
    _Button_Set_Pic($hButton6, 1, $pics & 'nachrichten2.bmp')
    _Button_Set_Pic($hButton6, 2, $pics & 'nachrichten3.bmp')
    _Button_Set_Ani_Speed($hButton6, 30, 14, 7)

    [/autoit] [autoit][/autoit] [autoit]

    Global $hButton7 = _Button_Init(20, 170, 45, 45, 7)
    _Button_Set_Pic($hButton7, 0, $pics & 'home1.bmp')
    _Button_Set_Pic($hButton7, 1, $pics & 'home2.bmp')
    _Button_Set_Pic($hButton7, 2, $pics & 'home3.bmp')
    _Button_Set_Ani_Speed($hButton7, 30, 14, 7)

    [/autoit] [autoit][/autoit] [autoit]

    Global $hButton8 = _Button_Init(120, 170, 45, 45, 8)
    _Button_Set_Pic($hButton8, 0, $pics & 'home1.bmp')
    _Button_Set_Pic($hButton8, 1, $pics & 'home2.bmp')
    _Button_Set_Pic($hButton8, 2, $pics & 'home3.bmp')
    _Button_Set_Ani_Speed($hButton8, 30, 14, 7)

    [/autoit] [autoit][/autoit] [autoit]

    Global $hButton9 = _Button_Init(220, 170, 45, 45, "test")
    _Button_Set_Pic($hButton9, 0, $pics & 'home1.bmp')
    _Button_Set_Pic($hButton9, 1, $pics & 'home2.bmp')
    _Button_Set_Pic($hButton9, 2, $pics & 'home3.bmp')
    _Button_Set_Ani_Speed($hButton9, 30, 14, 7)

    [/autoit] [autoit][/autoit] [autoit]

    Global $Btn_msg
    Global $pos, $klick
    Global $Temp
    Global $Anzeige = 0 ; 0 = home, 1 = Menu, usw...
    Local $t = TimerInit()

    [/autoit] [autoit][/autoit] [autoit]

    ; Display an Handyrahmen "koppeln"
    _SetParent($hWnd_Main, $hWnd_Child1)

    [/autoit] [autoit][/autoit] [autoit]

    ; Gui einblenden
    GuiRoundCorners($hWnd_Main, 0, 0, 20, 20)
    GuiRoundCorners($hWnd_Child1, 0, 0, 20, 20)
    WinSetTrans($hWnd_Main, "", 0)
    WinSetTrans($hWnd_Child1, "", 0)
    GUISetState(@SW_SHOW, $hWnd_Main)
    GUISetState(@SW_SHOW, $hWnd_Child1)
    FadeIn($hWnd_Main)

    [/autoit] [autoit][/autoit] [autoit]

    While Sleep(50)

    [/autoit] [autoit][/autoit] [autoit]

    Switch $Anzeige
    Case 0 ; Home
    _home()
    Case 1 ; Menu
    _menu()
    Case 2 ; Menu
    _back()
    Case 3 ; Menu
    _suche()
    EndSwitch

    [/autoit] [autoit][/autoit] [autoit]

    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    ; Funktionen
    Func _SetParent($hWnd_Parent, $hWnd_Child)
    $nExStyle = DllCall("user32.dll", "int", "GetWindowLong", "hwnd", $hWnd_Child, "int", 0xEC)
    DllCall("user32.dll", "int", "SetWindowLong", "hwnd", $hWnd_Child, "int", 0xEC, "int", BitOR($nExStyle[0], $WS_EX_MDICHILD))
    DllCall("user32.dll", "int", "SetParent", "hwnd", $hWnd_Child, "hwnd", $hWnd_Parent)
    GUISwitch($hWnd_Parent)
    EndFunc ;==> _SetParent

    [/autoit] [autoit][/autoit] [autoit]

    Func GuiRoundCorners($h_win, $i_x1, $i_y1, $i_x3, $i_y3)
    $pos = WinGetPos($h_win)
    $ret = DllCall("gdi32.dll", "long", "CreateRoundRectRgn", "long", $i_x1, "long", $i_y1, "long", $pos[2], "long", $pos[3], "long", $i_x3, "long", $i_y3)
    If $ret[0] Then
    $ret2 = DllCall("user32.dll", "long", "SetWindowRgn", "hwnd", $h_win, "long", $ret[0], "int", 1)
    If $ret2[0] Then
    Return 1
    Else
    Return 0
    EndIf
    Else
    Return 0
    EndIf
    EndFunc ;==>GuiRoundCorners

    [/autoit] [autoit][/autoit] [autoit]

    Func FadeIn($h)
    For $i = 0 To 255 Step 15
    Sleep(10)
    WinSetTrans($h, "", $i)
    Next
    EndFunc ;==>FadeIn

    [/autoit] [autoit][/autoit] [autoit]

    Func FadeOut($h)
    For $i = 255 To 0 Step -15
    Sleep(10)
    WinSetTrans($h, "", $i)
    Next
    EndFunc ;==>FadeOut

    [/autoit] [autoit][/autoit] [autoit]

    Func _Exit()
    FadeOut($hWnd_Main)
    GUIDelete($hWnd_Child1)

    [/autoit] [autoit][/autoit] [autoit]

    _Button_Dispose($hButton1)
    _Button_Dispose($hButton2)
    _Button_Dispose($hButton3)
    _Button_Dispose($hButton4)
    _Button_Dispose($hButton5)
    _Button_Dispose($hButton6)
    _Button_Dispose($hButton7)
    _Button_Dispose($hButton8)
    _Button_Dispose($hButton9)

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_GraphicsDispose($hBackbuffer)
    _GDIPlus_BitmapDispose($hBitmap)
    _GDIPlus_GraphicsDispose($hGraphic)
    _GDIPlus_Shutdown()
    Exit
    EndFunc ;==>_Exit

    [/autoit] [autoit][/autoit] [autoit]

    Func _menu()
    ;~ While Sleep(10)
    _GDIPlus_GraphicsClear($hBackbuffer, 0xFF000000)
    $Btn_msg = _Button_Get_Pressed()
    _Button_Draw($hBackbuffer, $hButton1)
    _Button_Draw($hBackbuffer, $hButton2)
    _Button_Draw($hBackbuffer, $hButton3)
    _Button_Draw($hBackbuffer, $hButton4)
    _Button_Draw($hBackbuffer, $hButton5)
    _Button_Draw($hBackbuffer, $hButton6)
    _Button_Draw($hBackbuffer, $hButton7)
    _Button_Draw($hBackbuffer, $hButton8)
    _Button_Draw($hBackbuffer, $hButton9)
    _GDIPlus_GraphicsDrawImage($hGraphic, $hBitmap, 0, 0)
    If $Btn_msg Then ToolTip('ButtonID: ' & $Btn_msg)
    ;Exitloop
    ;~ WEnd
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _home_button() ; Eventfunktion... schnell abwickeln !
    $Anzeige = 0 ; Home
    GUICtrlSetState($browser, $GUI_HIDE)
    EndFunc ;==>_home_button

    [/autoit] [autoit][/autoit] [autoit]

    Func _menu_button() ; Eventfunktion... schnell abwickeln !
    $Anzeige = 1 ; ab ins Menu !
    GUICtrlSetState($browser, $GUI_HIDE)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _back_button()
    $Anzeige = 2 ; Back
    GUICtrlSetState($browser, $GUI_HIDE)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _suche_button() ; Eventfunktion... schnell abwickeln !
    $Anzeige = 3 ; Suche !
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _home()

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_GraphicsClear($hBackbuffer, 0xFFFFFFFF)

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_GraphicsDrawImageRect($hBackbuffer, $hImg_HTC_Brilliant, 15, 130, 260, 165)

    [/autoit] [autoit][/autoit] [autoit]

    ; Hier was auch immer du willst...

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_GraphicsDrawImage($hGraphic, $hBitmap, 0, 0)

    [/autoit] [autoit][/autoit] [autoit]

    ;~ GUISetBkColor(0xFFFFFF, $hWnd_Child1)
    ;~ GUICtrlCreatePic($pics & "HTC-Brilliant.bmp", 15, 130, 260, 165)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _suche()
    ;_GDIPlus_GraphicsClear($hBackbuffer, 0xFF000000)
    GUICtrlSetState($browser, $GUI_SHOW)
    _IENavigate($IE,"http://www.google.de")
    $Anzeige = -1
    ;_GDIPlus_GraphicsDrawImage($hGraphic, $hBitmap, 0, 0)
    EndFunc ;==>_suche_button

    [/autoit] [autoit][/autoit] [autoit]

    Func _back()
    _GDIPlus_GraphicsClear($hBackbuffer, 0xFFFFFFFF)

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_GraphicsDrawImageRect($hBackbuffer, $hImg_HTC_Brilliant, 15, 130, 260, 165)

    [/autoit] [autoit][/autoit] [autoit]

    ; Hier was auch immer du willst...

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_GraphicsDrawImage($hGraphic, $hBitmap, 0, 0)
    EndFunc ;==>_suche_button

    [/autoit]
    [autoit]


    Func Ulam($n)
    Return 1
    EndFunc

    [/autoit]


    Rekursion FTW :D

  • Ganz genau so... vielen Dank. Mit dieser Mithilfe kann ich so nun nach belieben meine Menüs erweitern, neu erstellen oder was auch immer.

    So kann ich dieses Projekt doch noch stark erweiter, was Anfangs eigentlich nur dem GUI Design gedanken pflegte. Aber ich habe aktuell viel Spass daran, dieses Projekt weiterzupflegen - vielleicht wird es ja wirklich mal ein komplett virtuelles Telefon (mit Telefoniefunktion über Skype oder so^^).

    Aber wenn ich jetzt mal ganz krank weiterdenke, wäre es möglich:
    1.) die Browseranzeige vom optischen verkleinern zu lassen, wie man es vom Handy kennt, wenn man es mit zwei Fingern verkleinert/herauszoomt? Wahrscheinlich nicht umsetzbar oder würde wahrscheinlich auch bei vielen Seiten Probleme hervorrufen, oder?
    2.) das gesamte GUI um 45° drehen zu lassen sobald man z.b den Browser aufruft, um eine Seitenansicht zu erhalten?
    So würde sich ja Punkt 1 erübrigen, da man in der Seitenansicht ja viel mehr Spielraum hat, da ja länger.

    Jeder kennt oder hat ja sogar schon ein Smartphone und weiß, wie komfortabel die Seitenasicht ist, wenn man größere Sachen anschauen möchte...

    Aber (dank Eurer Mithilfe hier) macht mir das Projekt derzeit noch riesenspass und ich würde es sehr gern noch viel weiter entwickeln...

    Mein AutoIT Smartphone GUI >>hier<<

    Der Mensch ist das einzige Tier, dass arbeiten muss.

  • Ich weiß ja nicht, ob das mit dem Browser die beste Idee war. Ich würde vllt. nach dem Klick auf das Suchen-Icon eine Input erscheinen lassen, in der man ein Wort eingeben kann, dann auf suchen drückt, und das erste auf Google dazu gefundene Bild angezeigt wird. Das wäre besser dar zu stellen. Oder du fügst mehrere Home-Screens hinzu, sodass du anschließend die Standart-Apps wie z.B. einen Musik-Player oder eine Kamera (Screenshot) einfügen könntest.

    Edit: Schöner ist meiner Meinung nach, wenn man anstelle des X's die bei vielen Android-Handys oben rechts vorzufindende An-/Austaste verwendet. Du kannst sie natürlich auch nach rechts schieben, wo auch immer sie beim HD ist.

    Spoiler anzeigen
    [autoit]

    #include <WindowsConstants.au3>
    #include <GUIConstants.au3>
    #include <WinAPI.au3>
    #include <GDIPlus.au3>
    #include 'Buttons.au3'
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <IE.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Opt("GUIOnEventMode", 1)
    Opt("MouseCoordMode", 2) ;Damit die Koords der Maus auf dem Button korrekt erkannt werden.

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_Startup()

    [/autoit] [autoit][/autoit] [autoit]

    $Title = "HTC Desire HD"
    $Width = 300
    $Height = 500
    $pics = @ScriptDir & "\images\"

    [/autoit] [autoit][/autoit] [autoit]

    ; Konstanten
    Global Const $BgColorTitle = 0x000000
    Global Const $BgColor = 0x464646

    [/autoit] [autoit][/autoit] [autoit]

    ; Handyrahmen aussen
    $hWnd_Main = GUICreate($Title, $Width, $Height, -1, -1, $WS_POPUP)
    GUISetBkColor($BgColor)
    $Close = GUICtrlCreateLabel("", 252, 0, 33, 6)
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_ONTOP)
    ;$Close = GUICtrlCreatePic($pics & "close.bmp", $Width - 16, 7, 9, 9)
    GUICtrlSetOnEvent($Close, "_Exit")
    ;$TitleBar = GUICtrlCreateLabel("", 6, 4, $Width - 42, 17, -1, $GUI_WS_EX_PARENTDRAG)
    GUICtrlCreatePic($pics & "HTC-Lautsprecher.bmp", 65, 6, 180, 10)

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState()

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ; Handydisplay erstellen
    $hWnd_Child1 = GUICreate("", 290, 475, 5, 20, $WS_POPUP)
    GUISetBkColor(0xFFFFFF, $hWnd_Child1)

    [/autoit] [autoit][/autoit] [autoit]

    $IE = _IECreateEmbedded()
    $browser = GUICtrlCreateObj($IE, 11, 13, 268, 395)
    GUICtrlSetState($browser, $GUI_HIDE)

    [/autoit] [autoit][/autoit] [autoit]

    ;~ GUICtrlCreatePic($pics & "HTC-Brilliant.bmp", 15, 130, 260, 165)
    Global $hImg_HTC_Brilliant = _GDIPlus_ImageLoadFromFile($pics & "HTC-Brilliant.bmp")

    [/autoit] [autoit][/autoit] [autoit]

    $home_button = GUICtrlCreatePic($pics & "menu1.bmp", 15, 410, 51, 38)
    GUICtrlSetOnEvent($home_button, "_home_button")
    $menu_button = GUICtrlCreatePic($pics & "menu2.bmp", 66, 410, 82, 38)
    GUICtrlSetOnEvent($menu_button, "_menu_button")
    $back_button = GUICtrlCreatePic($pics & "menu3.bmp", 148, 410, 76, 38)
    GUICtrlSetOnEvent($back_button, "_back_button")
    $suche_button = GUICtrlCreatePic($pics & "menu4.bmp", 224, 410, 49, 38)
    GUICtrlSetOnEvent($suche_button, "_suche_button")
    GUICtrlCreatePic($pics & "HTC-Logo.bmp", 120, 445, 55, 20)

    [/autoit] [autoit][/autoit] [autoit]

    Global Const $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hWnd_Child1)
    Global Const $hBitmap = _GDIPlus_BitmapCreateFromGraphics($Width, 410, $hGraphic)
    Global Const $hBackbuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)

    [/autoit] [autoit][/autoit] [autoit]

    ; Hintergrund/Rahmen des Handydisplays
    GUICtrlCreateGraphic(0, 0, 330, 12)
    GUICtrlSetBkColor(-1, $BgColorTitle)
    GUICtrlCreateGraphic(0, 0, 10, $Height)
    GUICtrlSetBkColor(-1, $BgColorTitle)
    GUICtrlCreateGraphic(0, 410, $Width, 80)
    GUICtrlSetBkColor(-1, $BgColorTitle)
    GUICtrlCreateGraphic(280, 0, 20, $Height)
    GUICtrlSetBkColor(-1, $BgColorTitle)

    [/autoit] [autoit][/autoit] [autoit]

    ; Menü
    Global $hButton1 = _Button_Init(20, 30, 45, 45, 1)
    _Button_Set_Pic($hButton1, 0, $pics & 'home1.bmp')
    _Button_Set_Pic($hButton1, 1, $pics & 'home2.bmp')
    _Button_Set_Pic($hButton1, 2, $pics & 'home3.bmp')
    _Button_Set_Ani_Speed($hButton1, 30, 14, 7)

    [/autoit] [autoit][/autoit] [autoit]

    Global $hButton2 = _Button_Init(120, 30, 45, 45, 2)
    _Button_Set_Pic($hButton2, 0, $pics & 'info1.bmp')
    _Button_Set_Pic($hButton2, 1, $pics & 'info2.bmp')
    _Button_Set_Pic($hButton2, 2, $pics & 'info3.bmp')
    _Button_Set_Ani_Speed($hButton2, 30, 14, 7)

    [/autoit] [autoit][/autoit] [autoit]

    Global $hButton3 = _Button_Init(220, 30, 45, 45, 3)
    _Button_Set_Pic($hButton3, 0, $pics & 'alben1.bmp')
    _Button_Set_Pic($hButton3, 1, $pics & 'alben2.bmp')
    _Button_Set_Pic($hButton3, 2, $pics & 'alben3.bmp')
    _Button_Set_Ani_Speed($hButton3, 30, 14, 7)

    [/autoit] [autoit][/autoit] [autoit]

    Global $hButton4 = _Button_Init(20, 100, 45, 45, 4)
    _Button_Set_Pic($hButton4, 0, $pics & 'media1.bmp')
    _Button_Set_Pic($hButton4, 1, $pics & 'media2.bmp')
    _Button_Set_Pic($hButton4, 2, $pics & 'media3.bmp')
    _Button_Set_Ani_Speed($hButton4, 30, 14, 7)

    [/autoit] [autoit][/autoit] [autoit]

    Global $hButton5 = _Button_Init(120, 100, 45, 45, 5)
    _Button_Set_Pic($hButton5, 0, $pics & 'kamera1.bmp')
    _Button_Set_Pic($hButton5, 1, $pics & 'kamera2.bmp')
    _Button_Set_Pic($hButton5, 2, $pics & 'kamera3.bmp')
    _Button_Set_Ani_Speed($hButton5, 30, 14, 7)

    [/autoit] [autoit][/autoit] [autoit]

    Global $hButton6 = _Button_Init(220, 100, 45, 45, 6)
    _Button_Set_Pic($hButton6, 0, $pics & 'nachrichten1.bmp')
    _Button_Set_Pic($hButton6, 1, $pics & 'nachrichten2.bmp')
    _Button_Set_Pic($hButton6, 2, $pics & 'nachrichten3.bmp')
    _Button_Set_Ani_Speed($hButton6, 30, 14, 7)

    [/autoit] [autoit][/autoit] [autoit]

    Global $hButton7 = _Button_Init(20, 170, 45, 45, 7)
    _Button_Set_Pic($hButton7, 0, $pics & 'home1.bmp')
    _Button_Set_Pic($hButton7, 1, $pics & 'home2.bmp')
    _Button_Set_Pic($hButton7, 2, $pics & 'home3.bmp')
    _Button_Set_Ani_Speed($hButton7, 30, 14, 7)

    [/autoit] [autoit][/autoit] [autoit]

    Global $hButton8 = _Button_Init(120, 170, 45, 45, 8)
    _Button_Set_Pic($hButton8, 0, $pics & 'home1.bmp')
    _Button_Set_Pic($hButton8, 1, $pics & 'home2.bmp')
    _Button_Set_Pic($hButton8, 2, $pics & 'home3.bmp')
    _Button_Set_Ani_Speed($hButton8, 30, 14, 7)

    [/autoit] [autoit][/autoit] [autoit]

    Global $hButton9 = _Button_Init(220, 170, 45, 45, "test")
    _Button_Set_Pic($hButton9, 0, $pics & 'home1.bmp')
    _Button_Set_Pic($hButton9, 1, $pics & 'home2.bmp')
    _Button_Set_Pic($hButton9, 2, $pics & 'home3.bmp')
    _Button_Set_Ani_Speed($hButton9, 30, 14, 7)

    [/autoit] [autoit][/autoit] [autoit]

    Global $Btn_msg
    Global $pos, $klick
    Global $Temp
    Global $Anzeige = 0 ; 0 = home, 1 = Menu, usw...
    Local $t = TimerInit()

    [/autoit] [autoit][/autoit] [autoit]

    ; Display an Handyrahmen "koppeln"
    _SetParent($hWnd_Main, $hWnd_Child1)

    [/autoit] [autoit][/autoit] [autoit]

    ; Gui einblenden
    GuiRoundCorners($hWnd_Main, 0, 0, 20, 20)
    GuiRoundCorners($hWnd_Child1, 0, 0, 20, 20)
    WinSetTrans($hWnd_Main, "", 0)
    WinSetTrans($hWnd_Child1, "", 0)
    GUISetState(@SW_SHOW, $hWnd_Main)
    GUISetState(@SW_SHOW, $hWnd_Child1)
    FadeIn($hWnd_Main)

    [/autoit] [autoit][/autoit] [autoit]

    While Sleep(50)

    [/autoit] [autoit][/autoit] [autoit]

    Switch $Anzeige
    Case 0 ; Home
    _home()
    Case 1 ; Menu
    _menu()
    Case 2 ; Menu
    _back()
    Case 3 ; Menu
    _suche()
    EndSwitch

    [/autoit] [autoit][/autoit] [autoit]

    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    ; Funktionen
    Func _SetParent($hWnd_Parent, $hWnd_Child)
    $nExStyle = DllCall("user32.dll", "int", "GetWindowLong", "hwnd", $hWnd_Child, "int", 0xEC)
    DllCall("user32.dll", "int", "SetWindowLong", "hwnd", $hWnd_Child, "int", 0xEC, "int", BitOR($nExStyle[0], $WS_EX_MDICHILD))
    DllCall("user32.dll", "int", "SetParent", "hwnd", $hWnd_Child, "hwnd", $hWnd_Parent)
    GUISwitch($hWnd_Parent)
    EndFunc ;==> _SetParent

    [/autoit] [autoit][/autoit] [autoit]

    Func GuiRoundCorners($h_win, $i_x1, $i_y1, $i_x3, $i_y3)
    $pos = WinGetPos($h_win)
    $ret = DllCall("gdi32.dll", "long", "CreateRoundRectRgn", "long", $i_x1, "long", $i_y1, "long", $pos[2], "long", $pos[3], "long", $i_x3, "long", $i_y3)
    If $ret[0] Then
    $ret2 = DllCall("user32.dll", "long", "SetWindowRgn", "hwnd", $h_win, "long", $ret[0], "int", 1)
    If $ret2[0] Then
    Return 1
    Else
    Return 0
    EndIf
    Else
    Return 0
    EndIf
    EndFunc ;==>GuiRoundCorners

    [/autoit] [autoit][/autoit] [autoit]

    Func FadeIn($h)
    For $i = 0 To 255 Step 15
    Sleep(10)
    WinSetTrans($h, "", $i)
    Next
    EndFunc ;==>FadeIn

    [/autoit] [autoit][/autoit] [autoit]

    Func FadeOut($h)
    For $i = 255 To 0 Step -15
    Sleep(10)
    WinSetTrans($h, "", $i)
    Next
    EndFunc ;==>FadeOut

    [/autoit] [autoit][/autoit] [autoit]

    Func _Exit()
    Sleep(50)
    GUICtrlSetBkColor($Close, 0x212121)
    Sleep(300)
    GUICtrlSetBkColor($Close, 0x000000)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    FadeOut($hWnd_Main)
    GUIDelete($hWnd_Child1)

    [/autoit] [autoit][/autoit] [autoit]

    _Button_Dispose($hButton1)
    _Button_Dispose($hButton2)
    _Button_Dispose($hButton3)
    _Button_Dispose($hButton4)
    _Button_Dispose($hButton5)
    _Button_Dispose($hButton6)
    _Button_Dispose($hButton7)
    _Button_Dispose($hButton8)
    _Button_Dispose($hButton9)

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_GraphicsDispose($hBackbuffer)
    _GDIPlus_BitmapDispose($hBitmap)
    _GDIPlus_GraphicsDispose($hGraphic)
    _GDIPlus_Shutdown()
    Exit
    EndFunc ;==>_Exit

    [/autoit] [autoit][/autoit] [autoit]

    Func _menu()
    ;~ While Sleep(10)
    _GDIPlus_GraphicsClear($hBackbuffer, 0xFF000000)
    $Btn_msg = _Button_Get_Pressed()
    _Button_Draw($hBackbuffer, $hButton1)
    _Button_Draw($hBackbuffer, $hButton2)
    _Button_Draw($hBackbuffer, $hButton3)
    _Button_Draw($hBackbuffer, $hButton4)
    _Button_Draw($hBackbuffer, $hButton5)
    _Button_Draw($hBackbuffer, $hButton6)
    _Button_Draw($hBackbuffer, $hButton7)
    _Button_Draw($hBackbuffer, $hButton8)
    _Button_Draw($hBackbuffer, $hButton9)
    _GDIPlus_GraphicsDrawImage($hGraphic, $hBitmap, 0, 0)
    If $Btn_msg Then ToolTip('ButtonID: ' & $Btn_msg)
    ;Exitloop
    ;~ WEnd
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _home_button() ; Eventfunktion... schnell abwickeln !
    $Anzeige = 0 ; Home
    GUICtrlSetState($browser, $GUI_HIDE)
    EndFunc ;==>_home_button

    [/autoit] [autoit][/autoit] [autoit]

    Func _menu_button() ; Eventfunktion... schnell abwickeln !
    $Anzeige = 1 ; ab ins Menu !
    GUICtrlSetState($browser, $GUI_HIDE)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _back_button()
    $Anzeige = 2 ; Back
    GUICtrlSetState($browser, $GUI_HIDE)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _suche_button() ; Eventfunktion... schnell abwickeln !
    $Anzeige = 3 ; Suche !
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _home()

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_GraphicsClear($hBackbuffer, 0xFFFFFFFF)

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_GraphicsDrawImageRect($hBackbuffer, $hImg_HTC_Brilliant, 15, 130, 260, 165)

    [/autoit] [autoit][/autoit] [autoit]

    ; Hier was auch immer du willst...

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_GraphicsDrawImage($hGraphic, $hBitmap, 0, 0)

    [/autoit] [autoit][/autoit] [autoit]

    ;~ GUISetBkColor(0xFFFFFF, $hWnd_Child1)
    ;~ GUICtrlCreatePic($pics & "HTC-Brilliant.bmp", 15, 130, 260, 165)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _suche()
    ;_GDIPlus_GraphicsClear($hBackbuffer, 0xFF000000)
    GUICtrlSetState($browser, $GUI_SHOW)
    _IENavigate($IE,"http://www.google.de")
    $Anzeige = -1
    ;_GDIPlus_GraphicsDrawImage($hGraphic, $hBitmap, 0, 0)
    EndFunc ;==>_suche_button

    [/autoit] [autoit][/autoit] [autoit]

    Func _back()
    _GDIPlus_GraphicsClear($hBackbuffer, 0xFFFFFFFF)

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_GraphicsDrawImageRect($hBackbuffer, $hImg_HTC_Brilliant, 15, 130, 260, 165)

    [/autoit] [autoit][/autoit] [autoit]

    ; Hier was auch immer du willst...

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_GraphicsDrawImage($hGraphic, $hBitmap, 0, 0)
    EndFunc ;==>_suche_button

    [/autoit]
    [autoit]


    Func Ulam($n)
    Return 1
    EndFunc

    [/autoit]


    Rekursion FTW :D

    2 Mal editiert, zuletzt von retrokid (27. Februar 2012 um 19:26)

  • Ja das mit dem Browser war auch erstmal "nur" eine kleine Spielerei zum einbauen - ändern oder erweitern (wie auch immer) kann oder will ich später sogar noch ;)

    Mit dem X zum schliessen ist so ne Sache ^^
    Mein HTC hat den An/Aus Knopf oberhalb des Handys - macht sich hier schlecht, wenn man das Telefon von vorne sieht :P

    Aber Du hast natürlich recht... ich hab auch schon selber überlegt dort einen ordentlichen On/Off Button hinzusetzen. Der war erstmal nur zum Zweck da und das tut er im Moment noch.

    Was ich allerdings nicht verstehe ist dein Hinweis mit mehreren Home-Screens...??

    Wenn man das Menü aufruft (was ja jetzt noch keine Funktion hat, sondern nur die Icons mit Hovereffekten) dann kann man doch darüber dann später Apps starten wie Web-Cam, Player etc pp... hab ich Dich irgendwie falsch verstanden?

    Mein AutoIT Smartphone GUI >>hier<<

    Der Mensch ist das einzige Tier, dass arbeiten muss.

  • _Button_Set_Ani_Speed kann bei nicht animierten Buttons weg gelassen werden.
    Das macht nur Sinn, wenn jeder Zustand mehr als ein Bild besitzt.

    lg
    M

  • Ups... das hatte ich eigentlich schon entfernt... ist wohl durch das ganze hin und her copy/pasten wieder reingekommen -.-

    Danke für den Hinweis... habs wieder entfernt.

    Mein AutoIT Smartphone GUI >>hier<<

    Der Mensch ist das einzige Tier, dass arbeiten muss.

  • Sieht sehr gut aus, aber hast kannst du die Auflösung der einzelnen Images noch ein wenig erhöhen? Bei mir sehen die ein wenig verpixelt aus.
    Das mit der Google-Suche ist eine gute Idee, aber man muss halt immer scrollen, um etwas eingeben zu können und die Seiten sind auch viel zu groß, sodass man dauernd scrollen muss.
    Navigiere mal zu: http://www.google.com/xhtml


    Schön weiter machen! Interessiert mich, wenn ich mal wieder 'ne schöne Oberfläche brauch'.

  • Oh vielen Dank für den Hinweis auf die Mobile Version der Googleseite... so lässt sich das ganze ja schon wirklich fast ordentlich handhaben! An sowas hatte ich ja mal gar nicht gedacht.

    Bezüglich der Icons: Das werden mit Sicherheit auch nicht die finalen Icons sein, oben hab ich erstmal nur ein paar Beispielbilder reingesetzt, damit man überhaupt die Funktionalität und den Effekt sieht.

    Die Icons hab ich auf die schnelle mit Photoshop erstellt, muss aber sagen, dass ich nicht viel mit Grafiken am Hut habe. Ich kenn jedoch einen Mediengestalter, der mir da nen paar Dinger sicher herbeizaubert ;)

    Mein AutoIT Smartphone GUI >>hier<<

    Der Mensch ist das einzige Tier, dass arbeiten muss.

  • So... ich war gestern Nacht nicht untätig gewesen und hab das ganze mal etwas weitergebracht mit Startton vom HTC, wenn man das Handy einschaltet. Goodbye-Anzeige, wenn das Telefon ausgeschalten wird und Töne wenn man im Menü navigiert.

    Auch bin ich derzeit dran, neue Icons für das Menü einzupflegen - vorab kann ich sagen das sie sehr geil aussehen :D

    Update von den Änderungen heute Abend oder morgen...

    Jedoch hab ich noch 2 offene "Probleme/Anliegen"...

    Zum einen, was ich weiter oben schonmal ansprach, ist es irgendwie möglich, die GUI bei einer bestimmten Funktion um 45° drehen zu lassen?

    Zum anderen hab ich ja die Back-Funktion drin die momentan einfach nur auf die Homefunktion zurückgreift.
    Gibt es irgendeine Möglichkeit auszulesen, in welcher Funktion das Handy vorher war, damit diese Back-Funktion auch tatsächlich so funktioniert wie sie heißt?

    Mein AutoIT Smartphone GUI >>hier<<

    Der Mensch ist das einzige Tier, dass arbeiten muss.

  • Zu dem Verständnisproblem: Ich meine die Möglichkeit, zwischen den Homescreens zu switchen, wie bei nem Android-Handy per Finger-Slide nach rechts bzw. links. Weißt du?
    Zum ersten Problem: Meinst du nicht 90°? Du könntest ja einfach eine neue Gui erstellen mit per PS gedrehtem Bild.
    Zum zweiten: Das lässt sich leicht realisieren. Gib mir den bisherigen Code und ich baus dir ein, oder du machst es einfach selber. Dazu einfach ne Variable $AnzeigeOld definieren und immer mit dem letzten Wert füllen und ggf. auslesen. ;)

    [autoit]


    Func Ulam($n)
    Return 1
    EndFunc

    [/autoit]


    Rekursion FTW :D

  • Spoiler anzeigen
    [autoit]

    #include <WindowsConstants.au3>
    #include <GUIConstants.au3>
    #include <WinAPI.au3>
    #include <GDIPlus.au3>
    #include <IE.au3>
    #include <Buttons.au3>
    #include <Array.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Opt("GUIOnEventMode", 1)
    Opt("MouseCoordMode", 2) ;Damit die Koords der Maus auf dem Button korrekt erkannt werden.

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_Startup()

    [/autoit] [autoit][/autoit] [autoit]

    Global $return [1] = ["_home"] ; Back-Funktion
    Global $back = 0 ;

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $Title = "HTC Desire HD"
    $Width = 300
    $Height = 500
    $pics = @ScriptDir & "\images\"

    [/autoit] [autoit][/autoit] [autoit]

    ; Konstanten
    Global Const $BgColorTitle = 0x000000
    Global Const $BgColor = 0x464646

    [/autoit] [autoit][/autoit] [autoit]

    ; Handyrahmen aussen
    $hWnd_Main = GUICreate($Title, $Width, $Height, -1, -1, $WS_POPUP)
    GUISetBkColor($BgColor)
    $Close = GUICtrlCreatePic($pics & "close.bmp", $Width - 16, 7, 9, 9)
    GUICtrlSetOnEvent($Close, "_Exit")
    $TitleBar = GUICtrlCreateLabel("", 6, 4, $Width - 42, 17, -1, $GUI_WS_EX_PARENTDRAG)
    GUICtrlCreatePic($pics & "HTC-Lautsprecher.bmp", 65, 6, 180, 10)

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState()

    [/autoit] [autoit][/autoit] [autoit]

    ; Handydisplay erstellen
    $hWnd_Child1 = GUICreate("", 290, 475, 5, 20, $WS_POPUP)
    GUISetBkColor(0xFFFFFF, $hWnd_Child1)

    [/autoit] [autoit][/autoit] [autoit]

    $IE = _IECreateEmbedded()
    $browser = GUICtrlCreateObj($IE, 11, 13, 268, 395)
    GUICtrlSetState($browser, $GUI_HIDE)

    [/autoit] [autoit][/autoit] [autoit]

    ;~ GUICtrlCreatePic($pics & "HTC-Brilliant.bmp", 15, 130, 260, 165)
    Global $hImg_HTC_Brilliant = _GDIPlus_ImageLoadFromFile($pics & "HTC-Brilliant.bmp")

    [/autoit] [autoit][/autoit] [autoit]

    $home_button = GUICtrlCreatePic($pics & "menu1.bmp", 15, 410, 51, 38)
    GUICtrlSetOnEvent($home_button, "_home_button")
    $menu_button = GUICtrlCreatePic($pics & "menu2.bmp", 66, 410, 82, 38)
    GUICtrlSetOnEvent($menu_button, "_menu_button")
    $back_button = GUICtrlCreatePic($pics & "menu3.bmp", 148, 410, 76, 38)
    GUICtrlSetOnEvent($back_button, "_back_button")
    $suche_button = GUICtrlCreatePic($pics & "menu4.bmp", 224, 410, 49, 38)
    GUICtrlSetOnEvent($suche_button, "_suche_button")
    GUICtrlCreatePic($pics & "HTC-Logo.bmp", 120, 445, 55, 20)

    [/autoit] [autoit][/autoit] [autoit]

    Global Const $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hWnd_Child1)
    Global Const $hBitmap = _GDIPlus_BitmapCreateFromGraphics($Width, 410, $hGraphic)
    Global Const $hBackbuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)
    Global Const $hBitmap1 = _GDIPlus_BitmapCreateFromGraphics(270, 400, $hGraphic)
    Global Const $hBackbuffer1 = _GDIPlus_ImageGetGraphicsContext($hBitmap1)

    [/autoit] [autoit][/autoit] [autoit]

    ; Hintergrund/Rahmen des Handydisplays
    GUICtrlCreateGraphic(0, 0, 330, 12)
    GUICtrlSetBkColor(-1, $BgColorTitle)
    GUICtrlCreateGraphic(0, 0, 10, $Height)
    GUICtrlSetBkColor(-1, $BgColorTitle)
    GUICtrlCreateGraphic(0, 410, $Width, 80)
    GUICtrlSetBkColor(-1, $BgColorTitle)
    GUICtrlCreateGraphic(280, 0, 20, $Height)
    GUICtrlSetBkColor(-1, $BgColorTitle)

    [/autoit] [autoit][/autoit] [autoit]

    ; Menü
    Global $hButton1 = _Button_Init(20, 30, 45, 45, 1)
    _Button_Set_Pic($hButton1, 0, $pics & 'home1.bmp')
    _Button_Set_Pic($hButton1, 1, $pics & 'home2.bmp')
    _Button_Set_Pic($hButton1, 2, $pics & 'home3.bmp')
    _Button_Set_Ani_Speed($hButton1, 30, 14, 7)

    [/autoit] [autoit][/autoit] [autoit]

    Global $hButton2 = _Button_Init(120, 30, 45, 45, 2)
    _Button_Set_Pic($hButton2, 0, $pics & 'info1.bmp')
    _Button_Set_Pic($hButton2, 1, $pics & 'info2.bmp')
    _Button_Set_Pic($hButton2, 2, $pics & 'info3.bmp')
    _Button_Set_Ani_Speed($hButton2, 30, 14, 7)

    [/autoit] [autoit][/autoit] [autoit]

    Global $hButton3 = _Button_Init(220, 30, 45, 45, 3)
    _Button_Set_Pic($hButton3, 0, $pics & 'alben1.bmp')
    _Button_Set_Pic($hButton3, 1, $pics & 'alben2.bmp')
    _Button_Set_Pic($hButton3, 2, $pics & 'alben3.bmp')
    _Button_Set_Ani_Speed($hButton3, 30, 14, 7)

    [/autoit] [autoit][/autoit] [autoit]

    Global $hButton4 = _Button_Init(20, 100, 45, 45, 4)
    _Button_Set_Pic($hButton4, 0, $pics & 'media1.bmp')
    _Button_Set_Pic($hButton4, 1, $pics & 'media2.bmp')
    _Button_Set_Pic($hButton4, 2, $pics & 'media3.bmp')
    _Button_Set_Ani_Speed($hButton4, 30, 14, 7)

    [/autoit] [autoit][/autoit] [autoit]

    Global $hButton5 = _Button_Init(120, 100, 45, 45, 5)
    _Button_Set_Pic($hButton5, 0, $pics & 'kamera1.bmp')
    _Button_Set_Pic($hButton5, 1, $pics & 'kamera2.bmp')
    _Button_Set_Pic($hButton5, 2, $pics & 'kamera3.bmp')
    _Button_Set_Ani_Speed($hButton5, 30, 14, 7)

    [/autoit] [autoit][/autoit] [autoit]

    Global $hButton6 = _Button_Init(220, 100, 45, 45, 6)
    _Button_Set_Pic($hButton6, 0, $pics & 'nachrichten1.bmp')
    _Button_Set_Pic($hButton6, 1, $pics & 'nachrichten2.bmp')
    _Button_Set_Pic($hButton6, 2, $pics & 'nachrichten3.bmp')
    _Button_Set_Ani_Speed($hButton6, 30, 14, 7)

    [/autoit] [autoit][/autoit] [autoit]

    Global $hButton7 = _Button_Init(20, 170, 45, 45, 7)
    _Button_Set_Pic($hButton7, 0, $pics & 'home1.bmp')
    _Button_Set_Pic($hButton7, 1, $pics & 'home2.bmp')
    _Button_Set_Pic($hButton7, 2, $pics & 'home3.bmp')
    _Button_Set_Ani_Speed($hButton7, 30, 14, 7)

    [/autoit] [autoit][/autoit] [autoit]

    Global $hButton8 = _Button_Init(120, 170, 45, 45, 8)
    _Button_Set_Pic($hButton8, 0, $pics & 'home1.bmp')
    _Button_Set_Pic($hButton8, 1, $pics & 'home2.bmp')
    _Button_Set_Pic($hButton8, 2, $pics & 'home3.bmp')
    _Button_Set_Ani_Speed($hButton8, 30, 14, 7)

    [/autoit] [autoit][/autoit] [autoit]

    Global $hButton9 = _Button_Init(220, 170, 45, 45, "9")
    _Button_Set_Pic($hButton9, 0, $pics & 'home1.bmp')
    _Button_Set_Pic($hButton9, 1, $pics & 'home2.bmp')
    _Button_Set_Pic($hButton9, 2, $pics & 'home3.bmp')
    _Button_Set_Ani_Speed($hButton9, 30, 14, 7)

    [/autoit] [autoit][/autoit] [autoit]

    Global $Btn_msg
    Global $pos, $klick
    Global $Temp
    Global $Anzeige = 0 ; 0 = home, 1 = Menu, usw...
    Local $t = TimerInit()

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ; Display an Handyrahmen "koppeln"
    _SetParent($hWnd_Main, $hWnd_Child1)

    [/autoit] [autoit][/autoit] [autoit]

    ; Gui einblenden
    GuiRoundCorners($hWnd_Main, 0, 0, 20, 20)
    GuiRoundCorners($hWnd_Child1, 0, 0, 20, 20)
    WinSetTrans($hWnd_Main, "", 0)
    WinSetTrans($hWnd_Child1, "", 0)
    GUISetState(@SW_SHOW, $hWnd_Main)
    GUISetState(@SW_SHOW, $hWnd_Child1)
    FadeIn($hWnd_Main)

    [/autoit] [autoit][/autoit] [autoit]

    While Sleep(50)

    [/autoit] [autoit][/autoit] [autoit]

    Switch $Anzeige
    Case 0 ; Home
    _home()
    Case 1 ; Menu
    _menu()
    Case 3 ; Suche
    _suche()
    EndSwitch

    [/autoit] [autoit][/autoit] [autoit]

    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    ; Funktionen
    Func _SetParent($hWnd_Parent, $hWnd_Child)
    $nExStyle = DllCall("user32.dll", "int", "GetWindowLong", "hwnd", $hWnd_Child, "int", 0xEC)
    DllCall("user32.dll", "int", "SetWindowLong", "hwnd", $hWnd_Child, "int", 0xEC, "int", BitOR($nExStyle[0], $WS_EX_MDICHILD))
    DllCall("user32.dll", "int", "SetParent", "hwnd", $hWnd_Child, "hwnd", $hWnd_Parent)
    GUISwitch($hWnd_Parent)
    EndFunc ;==> _SetParent

    [/autoit] [autoit][/autoit] [autoit]

    Func GuiRoundCorners($h_win, $i_x1, $i_y1, $i_x3, $i_y3)
    $pos = WinGetPos($h_win)
    $ret = DllCall("gdi32.dll", "long", "CreateRoundRectRgn", "long", $i_x1, "long", $i_y1, "long", $pos[2], "long", $pos[3], "long", $i_x3, "long", $i_y3)
    If $ret[0] Then
    $ret2 = DllCall("user32.dll", "long", "SetWindowRgn", "hwnd", $h_win, "long", $ret[0], "int", 1)
    If $ret2[0] Then
    Return 1
    Else
    Return 0
    EndIf
    Else
    Return 0
    EndIf
    EndFunc ;==>GuiRoundCorners

    [/autoit] [autoit][/autoit] [autoit]

    Func FadeIn($h)
    For $i = 0 To 255 Step 15
    Sleep(10)
    WinSetTrans($h, "", $i)
    Next
    EndFunc ;==>FadeIn

    [/autoit] [autoit][/autoit] [autoit]

    Func FadeOut($h)
    For $i = 255 To 0 Step -15
    Sleep(10)
    WinSetTrans($h, "", $i)
    Next
    EndFunc ;==>FadeOut

    [/autoit] [autoit][/autoit] [autoit]

    Func _Exit()
    FadeOut($hWnd_Main)
    GUIDelete($hWnd_Child1)

    [/autoit] [autoit][/autoit] [autoit]

    _Button_Dispose($hButton1)
    _Button_Dispose($hButton2)
    _Button_Dispose($hButton3)
    _Button_Dispose($hButton4)
    _Button_Dispose($hButton5)
    _Button_Dispose($hButton6)
    _Button_Dispose($hButton7)
    _Button_Dispose($hButton8)
    _Button_Dispose($hButton9)

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_GraphicsDispose($hBackbuffer)
    _GDIPlus_GraphicsDispose($hBackbuffer1)
    _GDIPlus_BitmapDispose($hBitmap)
    _GDIPlus_BitmapDispose($hBitmap1)
    _GDIPlus_GraphicsDispose($hGraphic)
    _GDIPlus_Shutdown()
    Exit
    EndFunc ;==>_Exit

    [/autoit] [autoit][/autoit] [autoit]

    ; Änderungen für Back-Funktion
    Func _home_button()
    If $return [UBound($return)-1] <> "_home" then _ArrayAdd($return,"_home")
    $Anzeige = 0
    $back = 1
    GUICtrlSetState($browser, $GUI_HIDE)
    EndFunc ;==>_home_button

    [/autoit] [autoit][/autoit] [autoit]

    Func _menu_button()
    If $return [UBound($return)-1] <> "_menu" then _ArrayAdd($return,"_menu")
    $Anzeige = 1
    $back = 1
    GUICtrlSetState($browser, $GUI_HIDE)
    EndFunc ;==>_menu_button

    [/autoit] [autoit][/autoit] [autoit]

    Func _back_button()
    GUICtrlSetState($browser, $GUI_HIDE)
    $back += 1
    If UBound($return)-$back < 0 then Return
    $is = $return [UBound($return)-$back]
    If $is = "_home" then $Anzeige = 0
    If $is = "_menu" then $Anzeige = 1
    If $is = "_suche" then $Anzeige = 3
    Call($return [UBound($return)-$back])
    EndFunc ;==>_back_button

    [/autoit] [autoit][/autoit] [autoit]

    Func _suche_button()
    If $return [UBound($return)-1] <> "_suche" then _ArrayAdd($return,"_suche")
    $Anzeige = 3
    $back = 1
    EndFunc ;==>_suche_button

    [/autoit] [autoit][/autoit] [autoit]

    Func _home()
    _GDIPlus_GraphicsClear($hBackbuffer1, 0xFFFFFFFF)
    _GDIPlus_GraphicsDrawImageRect($hBackbuffer1, $hImg_HTC_Brilliant, 5, 120, 260, 165)
    ; Hier was auch immer du willst...
    _GDIPlus_GraphicsDrawImage($hGraphic, $hBitmap1, 10, 10)
    EndFunc ;==>_home

    [/autoit] [autoit][/autoit] [autoit]

    Func _menu()
    _GDIPlus_GraphicsClear($hBackbuffer, 0xFF000000)
    $Btn_msg = _Button_Get_Pressed()
    _Button_Draw($hBackbuffer, $hButton1)
    _Button_Draw($hBackbuffer, $hButton2)
    _Button_Draw($hBackbuffer, $hButton3)
    _Button_Draw($hBackbuffer, $hButton4)
    _Button_Draw($hBackbuffer, $hButton5)
    _Button_Draw($hBackbuffer, $hButton6)
    _Button_Draw($hBackbuffer, $hButton7)
    _Button_Draw($hBackbuffer, $hButton8)
    _Button_Draw($hBackbuffer, $hButton9)
    _GDIPlus_GraphicsDrawImage($hGraphic, $hBitmap, 0, 0)
    ; If $Btn_msg Then ToolTip('ButtonID: ' & $Btn_msg)
    If $Btn_msg = "1" Then
    $Anzeige = 0
    ElseIf $Btn_msg = "2" Then
    MsgBox(64,"","Menu 2")
    ElseIf $Btn_msg = "3" Then
    MsgBox(64,"","Menu 3")
    ElseIf $Btn_msg = "4" Then
    MsgBox(64,"","Menu 4")
    ElseIf $Btn_msg = "5" Then
    MsgBox(64,"","Menu 5")
    ElseIf $Btn_msg = "6" Then
    MsgBox(64,"","Menu 6")
    ElseIf $Btn_msg = "7" Then
    MsgBox(64,"","Menu 7")
    ElseIf $Btn_msg = "8" Then
    MsgBox(64,"","Menu 8")
    ElseIf $Btn_msg = "9" Then
    $Anzeige = 2
    EndIf
    EndFunc ;==>_menu

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func _suche()
    GUICtrlSetState($browser, $GUI_SHOW)
    _IENavigate($IE,"http://www.google.de/xhtml")
    $Anzeige = -1
    EndFunc ;==>_suche

    [/autoit]

    Das ist erstmal meine Back-Funktion. Retrokid du kannst es vlt. eleganter lösen?! Hoffe man versteht den Code ein wenig, denn ich habe gerade keine Zeit den Code zu kommentieren.