Button + Bild

  • Und weiter gehts! xD
    Hab mir nun des 2te Fenster gebaut und will da nun ne Verlinkung auf ne Website machen!

    --->

    [autoit]

    $gui2 = GUICreate("--", 200, 100)
    WinSetOnTop("--", "", 1)
    $linkbutton = GUICtrlCreateButton ("test", -1, -1 , 200, 100)
    GUICtrlSetOnEvent($linkbutton, "_12")
    GUISetState ()
    $idBtn = GUICtrlCreatePic ('C:\Dokumente und Einstellungen\Besitzer\Desktop\2.jpg', -1, -1, 200, 100)

    [/autoit][autoit]

    func _12()
    ShellExecute("http://www.google.com")
    EndFunc

    [/autoit]

    Hab da jetzt des Bild über den Button gelegt sodass ich wenn ich auf des Bild klick den Button betätige! Geht aber net ...

  • [autoit]

    $s_URL = ("http://www.google.com")
    Global $pic = "C:\Dokumente und Einstellungen\Besitzer\Desktop\2.jpg"
    $gui2 = GUICreate("Donate", 200, 100)
    WinSetOnTop("Donate", "", 0)
    $btnPic = GUICtrlCreatePic ($pic, -1, -1, 200, 100)
    GUISetState ()

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

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $btnPic
    If _AnimButton($gui2, $btnPic) Then ShellExecute("http://www.google.com")
    Case $msg = $GUI_EVENT_CLOSE
    Exit
    EndSelect
    WEnd

    [/autoit][autoit]

    Func _AnimButton ($IDgui, $IDbtn)
    Local $pos = ControlGetPos($IDgui, '', $IDbtn)
    Local $pWin = WinGetPos(GUICtrlGetHandle($IDbtn))
    ControlMove($IDgui, '', $IDbtn, $pos[0], $pos[1]+1, $pos[2]-1, $pos[3]-1)
    Local $tmpGui = GUICreate('', $pos[2], $pos[3], $pWin[0], $pWin[1], $WS_POPUP,$WS_EX_TOOLWINDOW)
    WinSetTrans($tmpGui, '', 120)
    GUISetState(@SW_SHOWNOACTIVATE, $tmpGui)
    $return = 1
    Do
    $x = GUIGetCursorInfo($IDgui)
    If $x[4] <> $IDbtn Then $return = 0
    Sleep(10)
    Until $x[2] = 0
    GUIDelete($tmpGui)
    ControlMove($IDgui, '', $IDbtn, $pos[0], $pos[1], $pos[2], $pos[3])
    Return $return
    EndFunc ;==> _AnimButton

    [/autoit]

    Gut aber wenn ich des so hinzufüge erscheint nurnoch der Button. Wenn ich den klicke passiert nix und des andere Fenster kommt erst gar nicht mehr!

  • Ohne mein Hauptscript gehts au...und mein hauptscript ohne des auch! :P
    Mmmmh ich rätsel ma weiter.


    Edit:
    Läuft soweit wieder. Aber es passiert nix wenn ich des Bild anklick?!
    ---->

    [autoit]

    $s_URL = ("http://www.google.com")
    Global $pic = "C:\Dokumente und Einstellungen\Besitzer\Desktop\2.jpg"
    $gui2 = GUICreate("Donate", 200, 100)
    WinSetOnTop("Donate", "", 1)
    $btnPic = GUICtrlCreatePic ($pic, -1, -1, 200, 100)
    GUISetState ()

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

    GUISetState(@SW_SHOW, $guiCPL)
    GUISetState(@SW_SHOW, $gui2)
    _setList()

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

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $btnPic
    If _AnimButton($gui2, $btnPic) Then ShellExecute("http://www.google.com")
    Case $msg = $GUI_EVENT_CLOSE
    Exit
    EndSelect
    WEnd

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

    While (1)
    Sleep (100)
    WEnd

    [/autoit][autoit]


    Func _AnimButton ($IDgui, $IDbtn)
    Local $pos = ControlGetPos($IDgui, '', $IDbtn)
    Local $pWin = WinGetPos(GUICtrlGetHandle($IDbtn))
    ControlMove($IDgui, '', $IDbtn, $pos[0], $pos[1]+1, $pos[2]-1, $pos[3]-1)
    Local $tmpGui = GUICreate('', $pos[2], $pos[3], $pWin[0], $pWin[1], $WS_POPUP,$WS_EX_TOOLWINDOW)
    WinSetTrans($tmpGui, '', 120)
    GUISetState(@SW_SHOWNOACTIVATE, $tmpGui)
    $return = 1
    Do
    $x = GUIGetCursorInfo($IDgui)
    If $x[4] <> $IDbtn Then $return = 0
    Sleep(10)
    Until $x[2] = 0
    GUIDelete($tmpGui)
    ControlMove($IDgui, '', $IDbtn, $pos[0], $pos[1], $pos[2], $pos[3])
    Return $return
    EndFunc ;==> _AnimButton

    [/autoit]

    Einmal editiert, zuletzt von Hacksor (11. Februar 2009 um 15:42)

  • Wenn ich es so hab kommt alles aber des Bild ist wie kein Button. Muss des nen .bmp sein??


    [autoit]

    Global $pic = "C:\Dokumente und Einstellungen\Besitzer\Desktop\2.jpg"

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

    $IDgui = GUICreate("Donate", 200, 100)
    WinSetOnTop("Donate", "", 1)
    $pic = GUICtrlCreatePic($pic, -1, -1, 200, 100)

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

    GUISetState(@SW_SHOW, $guiCPL)
    GUISetState(@SW_SHOW, $IDgui)

    [/autoit][autoit]

    While (1)
    Sleep(100)
    WEnd

    [/autoit][autoit]

    Func _AnimButton($IDgui, $IDbtn)
    Local $pos = ControlGetPos($IDgui, '', $IDbtn)
    Local $pWin = WinGetPos(GUICtrlGetHandle($IDbtn))
    ControlMove($IDgui, '', $IDbtn, $pos[0], $pos[1] + 1, $pos[2] - 1, $pos[3] - 1)
    Local $tmpGui = GUICreate('', $pos[2], $pos[3], $pWin[0], $pWin[1], $WS_POPUP, $WS_EX_TOOLWINDOW)
    WinSetTrans($tmpGui, '', 120)
    GUISetState(@SW_SHOWNOACTIVATE, $tmpGui)
    $return = 1
    Do
    $x = GUIGetCursorInfo($IDgui)
    If $x[4] <> $IDbtn Then $return = 0
    Sleep(10)
    Until $x[2] = 0
    GUIDelete($tmpGui)
    ControlMove($IDgui, '', $IDbtn, $pos[0], $pos[1], $pos[2], $pos[3])
    Return $return
    EndFunc ;==>_AnimButton

    [/autoit]


    [autoit]

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $pic
    If _AnimButton($IDgui, $pic) Then ShellExecute("http://www.google.de")
    Case $msg = $GUI_EVENT_CLOSE
    Exit
    EndSelect
    WEnd

    [/autoit]
  • Falsch informiert denk ich...weil dann geht bei mir gar nix mehr!^^

    Einmal editiert, zuletzt von Hacksor (11. Februar 2009 um 18:16)

  • JUUUUUHUUUUUU. xD
    Hab die Variable $pic doppelt belegt :/ naja...Bild is nun klickbar und öffnet Google! ;)
    Aaaaber ich brauch netmal klicken...Google geht automatisch auf un des glei 100mal -.-
    Muss ich da noch irgendwo was einfügen?^^

    Edit:
    Neue Erkenntniss...ich aktivier des Ding net durch nen Klick sondern schon wenn ich mit der Maus drüberfahr!
    --> Maus drauflassen ~tabs -.-

    [autoit]

    Global $pic = 'C:\Dokumente und Einstellungen\Besitzer\Desktop\2.jpg'

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

    $IDgui = GUICreate("Donate", 200, 100, -1, -1)
    WinSetOnTop("Donate", "", 1)
    $Apic = GUICtrlCreatePic($pic, -1, -1, 200, 100)

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

    GUISetState(@SW_SHOW, $guiCPL)
    GUISetState(@SW_SHOW, $IDgui)
    _setList()

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

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $pic
    If _AnimButton($IDgui, $Apic) Then ShellExecute("http://www.google.de")
    Case $msg = $GUI_EVENT_CLOSE
    Exit
    EndSelect
    WEnd

    [/autoit][autoit]

    Func _AnimButton($IDgui, $IDbtn)
    Local $pos = ControlGetPos($IDgui, '', $IDbtn)
    Local $pWin = WinGetPos(GUICtrlGetHandle($IDbtn))
    ControlMove($IDgui, '', $IDbtn, $pos[0], $pos[1] + 1, $pos[2] - 1, $pos[3] - 1)
    Local $tmpGui = GUICreate('', $pos[2], $pos[3], $pWin[0], $pWin[1], $WS_POPUP, $WS_EX_TOOLWINDOW)
    WinSetTrans($tmpGui, '', 120)
    GUISetState(@SW_SHOWNOACTIVATE, $tmpGui)
    $return = 1
    Do
    $x = GUIGetCursorInfo($IDgui)
    If $x[4] <> $IDbtn Then $return = 0
    Sleep(10)
    Until $x[2] = 0
    GUIDelete($tmpGui)
    ControlMove($IDgui, '', $IDbtn, $pos[0], $pos[1], $pos[2], $pos[3])
    Return $return
    EndFunc ;==>_AnimButton

    [/autoit]

    Einmal editiert, zuletzt von Hacksor (11. Februar 2009 um 18:26)

    • Offizieller Beitrag

    Ich weiß ja nicht aber der Code kann nicht funktionieren .

    [autoit]

    Global $pic = 'C:\Dokumente und Einstellungen\Besitzer\Desktop\2.jpg'

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

    $IDgui = GUICreate("Donate", 200, 100, -1, -1)
    WinSetOnTop("Donate", "", 1)
    $Apic = GUICtrlCreatePic($pic, -1, -1, 200, 100)

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

    GUISetState(@SW_SHOW, $guiCPL)
    GUISetState(@SW_SHOW, $IDgui)
    _setList()

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

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $pic
    If _AnimButton($IDgui, $Apic) Then ShellExecute("http://www.google.de")
    Case $msg = $GUI_EVENT_CLOSE
    Exit
    EndSelect
    WEnd

    [/autoit]


    Sollte es nicht eher so heißen :

    [autoit]

    Global $pic = 'C:\Dokumente und Einstellungen\Besitzer\Desktop\2.jpg'

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

    $IDgui = GUICreate("Donate", 200, 100, -1, -1)
    WinSetOnTop("Donate", "", 1)
    $Apic = GUICtrlCreatePic($pic, -1, -1, 200, 100)

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

    GUISetState(@SW_SHOW, $guiCPL)
    GUISetState(@SW_SHOW, $IDgui)
    _setList()

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

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $Apic
    If _AnimButton($IDgui, $Apic) Then ShellExecute("http://www.google.de")
    Case $msg = $GUI_EVENT_CLOSE
    Exit
    EndSelect
    WEnd

    [/autoit]


    $pic ist doch kein Control sonder $Apic

  • Muss aber stimmen. Weil wenn ichs so mach wies war reagiert der Button wenigstes. Aber...wenn ich dann 1mal klick öffnet firefox sich unendlich. Kann man da nicht iwie 1mal angeben??

    • Offizieller Beitrag

    Da du ja aus deinem Script ein Geheimnis machst kann man eigentlich nur Raten. Irgendwie funzt dein Script- Aber es sollte nicht. $Pic ist kein Control und kann somit auch keinen Event starten. $Apic ist ein Control und startet beim draufklicken einen Event.

    • Offizieller Beitrag

    Lese mein Post dann weißt du es .

    Spoiler anzeigen
    [autoit]

    Case $msg = $Apic
    ShellExecute("http://www.google.de")

    [/autoit]


    Edit laß den Animbuttonquatsch weg.

  • [autoit]

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $Apic
    If _AnimButton($IDgui, $Apic) then
    ShellExecute("http://www.google.de")
    Case $msg = $GUI_EVENT_CLOSE
    Exit
    EndSelect
    WEnd

    [/autoit]

    So??