png funktion erweitern.

  • Wie kann ich meine kleine png-anzeigefunktion um folgendes eweitern:
    - tooltip bei mousover
    - anklickbares png (wollte link hinterlegen)
    - stretchbar machen wie bei z.B. jpg GUICtrlCreatePic das ich die größer verändern kann ?

    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <GDIPlus.au3>
    #Include <WinAPI.au3>

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

    $hGUI999 = GUICreate("Show PNG", 250, 250)
    GUISetState()

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

    _drawpng($hGUI999, "blankavatar.png", 10, 10)

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

    ; Loop until user exits
    do
    until GUIGetMsg() = $GUI_EVENT_CLOSE

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

    Func _drawpng($pnggui,$pngpic, $pngx, $pngy)
    Local $hImage999, $hGraphic999, $hImage999

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

    ; Load PNG image
    _GDIPlus_StartUp()
    $hImage999 = _GDIPlus_ImageLoadFromFile($pngpic)
    $hGraphic999 = _GDIPlus_GraphicsCreateFromHWND($pnggui)

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

    ; Draw PNG image
    _WinAPI_RedrawWindow($pnggui, 0, 0, $RDW_UPDATENOW)
    _GDIPlus_GraphicsDrawImage($hGraphic999, $hImage999, $pngx, $pngy)
    _WinAPI_RedrawWindow($pnggui, 0, 0, $RDW_VALIDATE)

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

    ; Clean up resources
    _GDIPlus_GraphicsDispose($hGraphic999)
    _GDIPlus_ImageDispose($hImage999)
    _GDIPlus_ShutDown()
    EndFunc

    [/autoit]

    Danke für die hilfe :D

  • Zu dem anklickbaren:

    Du gibst deiner PNG eine Variable und rufst sie per Case $Variable auf ;)

    bei mir ruft er alle 20 sek die seite auf, wenn ich versuche es so umzusetzen:

    Spoiler anzeigen
    [autoit]

    ;----- example 3 PNG work araund by Zedna
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <GDIPlus.au3>
    #Include <WinAPI.au3>

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

    Global $pngname1, $pngimagename

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

    $hGUI999 = GUICreate("Show PNG", 250, 250)
    GUISetState()

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

    _drawpng($hGUI999, "blankavatar.png", $pngname1, 15, 100)

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

    ; Loop until user exits
    do
    Sleep(20)
    $msg = GUIGetMsg()
    Select
    Case $msg = $pngname1
    ShellExecute("http://www.test.de")
    EndSelect
    until GUIGetMsg() = $GUI_EVENT_CLOSE

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

    Func _drawpng($pnggui,$pngpic, $pngx, $pngimagename, $pngy)
    Local $hGraphic999

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

    ; Load PNG image
    _GDIPlus_StartUp()
    $pngimagename = _GDIPlus_ImageLoadFromFile($pngpic)
    $hGraphic999 = _GDIPlus_GraphicsCreateFromHWND($pnggui)

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

    ; Draw PNG image
    _WinAPI_RedrawWindow($pnggui, 0, 0, $RDW_UPDATENOW)
    _GDIPlus_GraphicsDrawImage($hGraphic999, $pngimagename, $pngx, $pngy)
    _WinAPI_RedrawWindow($pnggui, 0, 0, $RDW_VALIDATE)

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

    ; Clean up resources
    _GDIPlus_GraphicsDispose($hGraphic999)
    _GDIPlus_ImageDispose($pngimagename)
    _GDIPlus_ShutDown()
    EndFunc

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

    do
    Sleep(20)
    $msg = GUIGetMsg()
    Select
    Case $msg = $pngname1
    ShellExecute("http://www.test.de")
    EndSelect
    until GUIGetMsg() = $GUI_EVENT_CLOSE

    [/autoit]



    [autoit]


    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $$GUI_EVENT_CLOSE
    ;Was er machen soll, falls das Programm geschlossen wird.

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

    Case $pngname1
    ShellExecute("http:((http://www.test.de")
    EndSwitch
    WEnd

    [/autoit]