1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Ilse

Beiträge von Ilse

  • Hotkeys immer aktiv

    • Ilse
    • 15. November 2010 um 09:56

    Hallo Sen,

    hm... d.h. ich muß ganz normale Hotkeys verwenden.
    ...habe ich das richtig verstanden:

    Ich mache den Code für jeden Case Button als Funktion?

    In meinem Beispiel wollte ich mit F4
    den Code von dem Button überall verwenden.

    [autoit]


    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

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

    $Form1 = GUICreate("Form1", 615, 440, 297, 186)
    $Button1 = GUICtrlCreateButton("Button1", 212, 108, 197, 81)
    Dim $Form1_AccelTable[1][2] = [["{F4}", $Button1]] ; hier ist der Hotkey für die Taste F4
    GUISetAccelerators($Form1_AccelTable)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    Case $Button1
    Msgbox(4,"Hotkey","Aktiviert...")
    EndSwitch
    WEnd

    [/autoit]

    Grüße
    Ilse ;)

  • Hotkeys immer aktiv

    • Ilse
    • 15. November 2010 um 09:28

    Guten Morgen zusammen,

    ich habe folgendes Problem:
    Wenn in in einer Anwendung Hotkeys verwende,
    dann sollen diese Hotkeys "immer" und überall in Windows aktiv sein.
    Solange wie das Hauptscript läuft.

    Dies geht leider nur wenn das Fenster den Fokus hat.
    Kann man das irgendwie ändern.

    Beispiel F4 Hotkey

    [autoit]


    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

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

    $Form1 = GUICreate("Form1", 615, 440, 297, 186)
    $Button1 = GUICtrlCreateButton("Button1", 212, 108, 197, 81)
    Dim $Form1_AccelTable[1][2] = [["{F4}", $Button1]] ; hier ist der Hotkey für die Taste F4
    GUISetAccelerators($Form1_AccelTable)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    Case $Button1
    Msgbox(4,"Hotkey","Aktiviert...")
    EndSwitch
    WEnd

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


    Grüße
    Ilse ;)

  • MouseOver UDF

    • Ilse
    • 12. November 2010 um 13:46

    Hallo zusammen,

    also nochmals meinen herzlichen Dank .
    Ich brauche jetzt etwas Zeit um alles mal durchzugehen,
    probieren und verstehen.

    melde mich wieder...

    Liebe Grüße
    Ilse ;)

  • MouseOver UDF

    • Ilse
    • 11. November 2010 um 21:38

    Hallo,

    es läßt mir einfach keine Ruhe...
    Ich habe nun mal eine ganz ganz einfache Variante
    (leider noch mit einem kleinen Fehler) am Schluß verschwindet alles....upps

    [autoit]


    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

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

    Global $Hoverbild

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

    $Form1 = GUICreate("Form1", 615, 440, 192, 124, BitOR($GUI_SS_DEFAULT_GUI,$WS_MAXIMIZEBOX,$WS_SIZEBOX,$WS_THICKFRAME,$WS_TABSTOP))
    $Pic1 = GUICtrlCreatePic("C:\Bild1.jpg", 24, 14, 567, 403)
    GUICtrlSetResizing(-1, $GUI_DOCKAUTO)
    $Pic2 = GUICtrlCreatePic("C:\bt1.jpg", 188, 110, 209, 133)
    GUICtrlSetResizing(-1, $GUI_DOCKAUTO)
    $Pic3 = GUICtrlCreatePic("C:\bt2.jpg", 188, 110, 209, 133)
    GUICtrlSetResizing(-1, $GUI_DOCKAUTO)
    GUISetState(@SW_SHOW)

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

    AdlibRegister("_Hover_Label")

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    WEnd

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

    Global $Hoverbild = False

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

    Func _Hover_Label()

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

    $pos = GUIGetCursorInfo()
    If $pos[4] = $Pic3 And $Hoverbild = false Then
    GUICtrlSetImage($Pic3, "")
    $Hoverbild = true

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

    ElseIf $pos[4] <> $Pic3 And $Hoverbild = true then
    GUICtrlSetImage($Pic2, "")
    $Hoverbild = False
    endif

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

    EndFunc

    [/autoit]

    Nichts flattert, aber leider bekomme ich das erste Bild nicht wieder....

    Liebe Grüße
    Ilse ;)

  • MouseOver UDF

    • Ilse
    • 11. November 2010 um 20:51

    Hallo Großvater,

    ohhh das sieht toll aus! Nichts flattert!
    Leider blicke ich da noch nicht so ganz durch.

    Was mir noch unklar ist, wie kann man das z.B. mit 3 Buttons machen?
    Und wie kann ich per (Case $Bild?) auf den 3. Button per Klick reagieren?

    1. Button 1 reagiert auf Cursor, verschwindet
    2. dann wird Button 2 sichbar, Bei KLICK auf Button 2...
    3. wird Code von Button 3 ausgeführt

    [autoit]


    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

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

    $PicDir = @ProgramFilesDir & "\AutoIt3\Examples\GUI"
    $Bild1 = $PicDir & "\msoobe.jpg"
    $Bild2 = $PicDir & "\logo4.gif"

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

    Opt("GUIOnEventMode", 1)
    $Form1 = GUICreate("Form1", 600, 400, -1, -1, BitOR($GUI_SS_DEFAULT_GUI,$WS_MAXIMIZEBOX,$WS_SIZEBOX,$WS_THICKFRAME,$WS_TABSTOP))
    $Pic1 = GUICtrlCreatePic($Bild1, 0, 0, 600, 400) ; das ist das Hintergrundbild!
    GUICtrlSetResizing(-1, $GUI_DOCKAUTO)
    $Pic2 = GUICtrlCreatePic($Bild2, 188, 110, 169, 68) ; das ist das Bild auf das der Cursor reagiert!
    GUICtrlSetResizing(-1, $GUI_DOCKAUTO)
    GUISetState(@SW_SHOW)

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

    GUISetOnEvent($GUI_EVENT_RESTORE, "_GUI_Resized")
    GUISetOnEvent($GUI_EVENT_MAXIMIZE, "_GUI_Resized")
    GUISetOnEvent($GUI_EVENT_RESIZED, "_GUI_Resized")
    GUISetOnEvent($GUI_EVENT_MOUSEMOVE, "_GUI_MouseMoved")
    GUISetOnEvent($GUI_EVENT_CLOSE, "_GUI_Close")
    Global $GUI_Resized = True

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

    While True
    Sleep(10)
    WEnd

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

    Func _GUI_Close()
    Exit
    EndFunc

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

    Func _GUI_Resized()
    $GUI_Resized = True
    EndFunc

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

    Func _GUI_MouseMoved()
    Static $Hidden = False
    Static $X1 = 0, $Y1 = 0, $X2 = 0, $Y2 = 0
    Local $aCursor = GUIGetCursorInfo()
    Local $X = $aCursor[0], $Y = $aCursor[1]
    If $GUI_Resized Then
    Local $aPic = ControlGetPos($Form1, "", $Pic2)
    $X1 = $aPic[0]
    $Y1 = $aPic[1]
    $X2 = $X1 + $aPic[2] - 1
    $Y2 = $Y1 + $aPic[3] - 1
    $GUI_Resized = False
    EndIf
    If $X >= $X1 And $X <= $X2 And $Y >= $Y1 And $Y <= $Y2 Then
    If Not $Hidden Then
    $Hidden = True
    GUICtrlSetState($Pic2, $GUI_HIDE)
    EndIf
    Else
    If $Hidden Then
    $Hidden = False
    GUICtrlSetState($Pic2, $GUI_SHOW)
    EndIf
    EndIf
    EndFunc

    [/autoit]


    Viele Grüße
    Ilse ;)

  • MouseOver UDF

    • Ilse
    • 11. November 2010 um 17:16

    Hallo Sortoc,

    merci für deine Links!
    Also wieder mal lesen, lernen...und das Ziel rückt in die weite Ferne.

    Viele Grüße
    Ilse ;)

  • MouseOver UDF

    • Ilse
    • 11. November 2010 um 16:49

    Hallo autoBert,

    erstmal Danke für dein Beispiel.
    Hab's zum laufen gekriegt.

    Sobald das Form aber den Focus hat
    zittern/flackern meine Bilder.
    Sieht nicht gut aus!
    Hab auch schon einiges im Forum gelesen.
    Bei mehreren Bildern beginnt das große flackern!

    Ich habe dieUDF nun angepasst,
    Jetzt flattert es außerhalb nicht mehr! Nur beim Fokus auf den Button!

    Spoiler anzeigen


    #include-Once

    ; #INDEX# ===========================================================================================================
    ; Name ...........: Mouse Over
    ; Sprache ........: Deutsch
    ; Beschreibung ...: Funktion zum ändern des Bildes eines Controls(Mouse over).
    ; Author .........: cinema
    ; ====================================================================================================================
    $hover = 0
    Func _mover($control, $bild1, $bild2)

    $mpos = GUIGetCursorInfo()
    If (IsArray($mpos)) Then
    If ($mpos[4] = $control) Then
    GUICtrlSetImage($control, $bild2)
    $hover = 1
    Elseif ($mpos[4] <> $control and $hover = 1) Then
    GUICtrlSetImage($control, $bild1)
    $hover = 0
    EndIf
    EndIf

    EndFunc


    Liebe Grüße
    Ilse ;)

  • MouseOver UDF

    • Ilse
    • 11. November 2010 um 14:47

    ich habe ein Problem
    mit dem anpassen der udf
    auf meine Bildpfade...
    Wo müssen überhaupt Pfade geändert werden damit diese
    udf funktioniert?

    $Pic1 = GUICtrlCreatePic(@ScriptDir & "\bt1.jpg", -1, 0, 0, 468, 60)

    Ilse ;)

    P.S. du hast Recht, ich mach mal ne Pause! :sleeping:

  • MouseOver UDF

    • Ilse
    • 11. November 2010 um 14:27

    ich habe im Forum ein Script
    gefunden mit dem man Bilder wechseln kann!
    Aber ich brauche eure Hilfe.

    Hier die UDF

    Spoiler anzeigen


    #include-Once

    ; #INDEX# ===========================================================================================================
    ; Name ...........: Mouse Over
    ; Sprache ........: Deutsch
    ; Beschreibung ...: Funktion zum ändern des Bildes eines Controls(Mouse over).
    ; Author .........: cinema
    ; ====================================================================================================================

    Func _mover($control, $bild1, $bild2)

    $mpos = GUIGetCursorInfo()
    If (IsArray($mpos)) Then
    If ($mpos[4] = $control) Then
    GUICtrlSetImage($control, $bild2)
    Else
    GUICtrlSetImage($control, $bild1)
    EndIf
    EndIf

    EndFunc

    und hier das Beispielscript

    Spoiler anzeigen


    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include "_mover.au3"

    Opt("GUIOnEventMode", 1)
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 625, 445, 192, 124)
    $Button1 = GUICtrlCreateButton("Button1", 192, 128, 80, 57, BitOR($BS_BITMAP,$WS_GROUP))
    GUICtrlSetImage(-1, "ok_nact.bmp", -1)
    GUICtrlSetFont(-1, 7, 400, 0, "MS Sans Serif")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    While 1
    Sleep(100)
    _mover($Button1, "ok_nact.bmp","ok_act.bmp")
    WEnd

    ich habe aber kein Button, sondern ein Bild
    Pic1 = bt1.jpg

    Ich möchte, wenn ich den Cursor auf PIC 1 bewege daß
    sich das Bild in bt2.jpg ändert. Welche Pfadangaben muß ich ändern?
    bt2.jpg und bt3.jpg sind im @Script Verzeichnis!
    Und wenn man KLICKT daß dann das Bild bt3.jpg kommt und der Befehl ausgeführt wird!

    Hier mal mein Rohbau:

    [autoit]


    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

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

    $Form2 = GUICreate("Form2", 549, 421, 285, 182)
    $Pic1 = GUICtrlCreatePic("C:\bt1.jpg", 58, 34, 153, 149)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Pic1
    EndSwitch
    WEnd

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

    Welches Bild erhält den Case Befehl...?
    Ich bin irgendwie total durcheinander
    und weiß nicht wie ich meine Bilder ansprechen kann
    ...kann nicht mehr klar denken... ?(


    Grüße
    Ilse

  • Bild hover unsichtbar

    • Ilse
    • 11. November 2010 um 11:25

    Guten Morgen alle zusammen,

    erstmal danke für eure Beiträge.
    Aber es funktioniert immer noch nicht!
    Ich fang mal langsam an:

    @ AlexanderSchill
    flackert nach wie vor....

    Spoiler anzeigen


    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

    Global $Hover=0

    $Form1 = GUICreate("Form1", 615, 440, 192, 124, BitOR($GUI_SS_DEFAULT_GUI,$WS_MAXIMIZEBOX,$WS_SIZEBOX,$WS_THICKFRAME,$WS_TABSTOP))
    $Pic1 = GUICtrlCreatePic("C:\Bild1.jpg", 24, 14, 567, 403)
    GUICtrlSetResizing(-1, $GUI_DOCKAUTO)
    $Pic2 = GUICtrlCreatePic("C:\bt1.jpg", 188, 110, 209, 133)
    GUICtrlSetResizing(-1, $GUI_DOCKAUTO)
    GUISetState(@SW_SHOW)


    AdlibRegister("Hover")

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

    EndSwitch
    WEnd


    Global $Hoverbild = False


    Func Hover()
    $Cursor=GUIGetCursorInfo()
    If $Cursor[4]=$Pic2 Then
    Guictrlsetstate($Pic2,32)
    $Hover=1
    Elseif $Hover=1 Then
    Guictrlsetstate($Pic2,16)
    $Hover=0
    Endif
    Endfunc

    BadBunny
    huh..., es funktioniert bis auf die Größenanpassung.
    Wenn das Fenster vergrößert wird,
    dann sollten die Bilder mitvergrößert werden.

    Spoiler anzeigen


    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <GDIPLus.au3>


    Global $Hoverbild

    $hGUI = GUICreate("Form1", 615, 440, 192, 124, BitOR($GUI_SS_DEFAULT_GUI, $WS_MAXIMIZEBOX, $WS_SIZEBOX, $WS_THICKFRAME, $WS_TABSTOP))
    Guisetbkcolor (0xffFfff)
    ;~ $Pic1 = GUICtrlCreatePic(@desktopdir & "\Bilder\blau.jpg", 24, 14, 567, 403) ; das ist das Hintergrundbild!
    GUICtrlSetResizing(-1, $GUI_DOCKAUTO)
    ;~ $Pic2 = GUICtrlCreatePic(@DesktopDir & "\Bilder\Baum.jpg", 100, 100, 100, 100) ; das ist das Bild auf das der Cursor reagiert!
    GUICtrlSetResizing(-1, $GUI_DOCKAUTO)
    _GDIPlus_Startup()
    $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI) ; Benutzt die GUI als "Unterlage" für unsere Bilder
    $hBitmap = _GDIPlus_BitmapCreateFromGraphics(615, 440, $hGraphic)
    $hBackbuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)
    ;~ $HintergrundImage = _GDIPlus_ImageLoadFromFile () =============FALS DU DEN HINTERGRUND EINBAZUEN WILLST, MACHE ICH JETZT NICHT==================
    $pic2 = _GDIPlus_ImageLoadFromFile (@desktopdir & "\Bilder\Baum.jpg")
    $deckung= _GDIPlus_ImageLoadFromFile (@desktopdir & "\Bilder\weiss.png")
    $pic2malen= _GDIPlus_GraphicsDrawImageRect ($hBackbuffer, $pic2, 100, 100, 100, 100)

    GUISetState(@SW_SHOW)
    _GDIPlus_GraphicsDrawImageRect ($hGraphic, $hBitmap, 0, 0, 615, 440)

    ;~ AdlibRegister("_Hover_Label")

    While 1
    $pos = GUIGetCursorInfo()
    _GDIPlus_GraphicsDrawImageRect ($hGraphic, $hBitmap, 0, 0, 615, 440)
    If Isarray ($pos) Then
    If $pos[0] >= 100 and $pos[0] <= 200 and $pos[1] >= 100 and $pos[1] <= 200 Then
    _GDIPlus_GraphicsDrawImageRect ( $hBackbuffer,$deckung, 100, 100, 100, 100)
    Else
    $pic2malen= _GDIPlus_GraphicsDrawImageRect ($hBackbuffer, $pic2, 100, 100, 100, 100)
    EndIf
    endif


    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

    EndSwitch
    ;~ If IsArray($pos) Then
    ;~ If $pos[4] = $Pic2 Then _Hover_Label()
    ;~ else
    ;~ GUICtrlSetState($Pic2, $GUI_show)
    ;~ ElseIf $pos[4] <> $Pic2 Then GUICtrlSetState($Pic2, $GUI_show)
    ;~ EndIf
    ;~ If IsArray ($pos) Then
    ;~ If $pos[4] <> $Pic2 Then GUICtrlSetState($Pic2, $GUI_show)
    ;~ EndIf
    WEnd


    Func _Hover_Label()

    ;~ $pos = GUIGetCursorInfo()
    ;~ If $pos[4] = $Pic2 Then
    GUICtrlSetState($Pic2, $GUI_HIDE)
    ;~ $Hoverbild = true


    ;~ Else
    ;~ GUICtrlSetState($Pic2, $GUI_show)

    ;~ endif

    EndFunc ;==>_Hover_Label

    Fresapore

    wenn das Fenster vergrößert wird,
    dann geht leider nichts mehr!

    Spoiler anzeigen


    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

    Global $Hoverbild
    $hoverjn = 0
    $act = 0
    $Form1 = GUICreate("Form1", 615, 440, 192, 124, BitOR($GUI_SS_DEFAULT_GUI,$WS_MAXIMIZEBOX,$WS_SIZEBOX,$WS_THICKFRAME,$WS_TABSTOP))
    $Pic1 = GUICtrlCreatePic("C:\Bild1.jpg", 24, 14, 567, 403)
    GUICtrlSetResizing(-1, $GUI_DOCKAUTO)
    $Pic2 = GUICtrlCreatePic("C:\bt1.jpg", 188, 110, 209, 133)
    GUICtrlSetResizing(-1, $GUI_DOCKAUTO)
    GUISetState(@SW_SHOW)


    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    $pos = GUIGetCursorInfo()
    if 188 < $pos[0] and $pos[0] < 397 and 110 < $pos[1] and $pos[1] < 243 Then
    $hoverjn = 1
    Else
    $hoverjn = 0
    EndIf
    if $hoverjn <> $act Then
    if $hoverjn = 1 Then
    $act = 1
    guictrlsetstate($pic2, $GUI_HIDE)
    Else
    $act = 0
    guictrlsetstate($pic2, $GUI_SHOW)
    EndIf
    EndIf
    WEnd


    ...das wird bestimmt wieder
    ein toller Tag!

    Liebe Grüße
    Ilse ;)

  • Bild hover unsichtbar

    • Ilse
    • 10. November 2010 um 17:06

    So,
    hier nochmal der kpl. Code

    [autoit]


    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

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

    Global $Hoverbild

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

    $Form1 = GUICreate("Form1", 615, 440, 192, 124, BitOR($GUI_SS_DEFAULT_GUI,$WS_MAXIMIZEBOX,$WS_SIZEBOX,$WS_THICKFRAME,$WS_TABSTOP))
    $Pic1 = GUICtrlCreatePic("C:\Bild1.jpg", 24, 14, 567, 403) ; das ist das Hintergrundbild!
    GUICtrlSetResizing(-1, $GUI_DOCKAUTO)
    $Pic2 = GUICtrlCreatePic("C:\bt1.jpg", 188, 110, 209, 133) ; das ist das Bild auf das der Cursor reagiert!
    GUICtrlSetResizing(-1, $GUI_DOCKAUTO)
    GUISetState(@SW_SHOW)

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

    AdlibRegister("_Hover_Label")

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    WEnd

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

    Global $Hoverbild = False

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

    Func _Hover_Label()

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

    $pos = GUIGetCursorInfo()
    If $pos[4] = $Pic2 And $Hoverbild = false Then
    GUICtrlSetState($Pic2, $GUI_HIDE)
    $Hoverbild = true

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

    ElseIf $pos[4] <> $Pic2 And $Hoverbild = True then
    GUICtrlSetState($Pic2, $GUI_show)
    $Hoverbild = False
    endif

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

    EndFunc

    [/autoit]

    Also, wenn ich den Cursor auf das "pic2" halte, dann soll es verschwinden
    Bewege ich den Cursor außerhalb, dann soll es wieder erscheinen!
    Wenn ich den Cursor ruhig halte blinkt es.

    Komm da einfach nicht weiter...

    Viele Grüße
    Ilse ;)

  • Bild hover unsichtbar

    • Ilse
    • 10. November 2010 um 16:41

    ...hat funktioniert!

    Leider gibt es noch ein Problem
    (ähnlich wie bei meinem Labels Thread)

    Wenn ich die Maus auf das Bild halte blinkt es!
    Ich habe das ganze wie von h2112 empfohlen angepasst
    bei dem Bild klappt es leider nicht!

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

    AdlibRegister("_Hover_Label",0) ; hiert kann man die Zeit einstellen
    Global $hoverbild = False

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

    Func _Hover_Label()
    $pos = GUIGetCursorInfo()

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

    If $pos[4] = $Pic2 And $Hoverbild = false Then
    ;Msgbox(4,"teset","Test")
    GUICtrlSetState($Pic2, $GUI_HIDE) ; Der Fokus ist auf diesem Button
    $Hoverbild = true

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

    ElseIf $pos[4] <> $Pic2 And $Hoverbild = True then
    GUICtrlSetState($Pic2, $GUI_Show)
    $Hoverbild = False
    EndIf

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

    EndFunc

    [/autoit]

    wenn ich den Cursor auf dem Bild lasse, dann wird es aus und an geschaltet!
    Es sollte aber, solange ich den Cursor auf dem Bild halte unsichtbar sein!

  • Bild hover unsichtbar

    • Ilse
    • 10. November 2010 um 16:12

    Hallo,

    ich möchte mit einer Hover Funktion ein Bild
    unsichtbar, bzw. sichbar machen! Das klappt leider nicht!

    [autoit]


    AdlibRegister("_Hover_Label")
    Func _Hover_Label()
    $pos = GUIGetCursorInfo()

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

    If $pos[4] = $Pic2 Then
    $Pic2.visible = false
    else
    $Pic2.visible = true
    EndIf
    EndFunc

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

    Viele Grüße
    Ilse

  • Icon auf Bild

    • Ilse
    • 10. November 2010 um 10:54

    guten Morgen Chrisatack,

    merci nochmal für deine Tipps.
    Ich habe mir alles mal heruntergeladen
    und werde mich heute damit vergnügen.

    Schade daß das alles so komplex ist.
    Transparentes Bild auf Background... ist doch
    normalerweise in anderen Sprachen kein Problem.

    Viele Grüße
    Ilse ;)

  • Icon auf Bild

    • Ilse
    • 9. November 2010 um 18:33

    Hallo Chrisatack,

    ich bin schon den ganzen Mittag am suchen und googlen
    und hatte auch deinen Beitrag gefunden.
    Aber irgendwie bin ich da nicht klargekommen.

    Mit einer dll habe ich mit Autoit noch nicht gearbeitet.
    Bin für jeden Tipp dankbar

    Zitat

    Du schreibst mit IconFX sollte man das Bild als ico speichern!

    Das habe ich gemacht!

    Dann sollte man z.B. mit Koda ein PIC (also ein ganz normales Bild) anlegen
    und dann

    Zitat

    ; einfügen des Icons in das PIC
    __RibbonsBar_SetIconAlpha($hPic, 'leer.dll', 1, 256, 73

    Koda versteh aber nur: jpg, jpeg, bmp und gif

    da komm ich irgendwie nicht weiter...

    Liebe Grüße
    Ilse ;)

  • Icon auf Bild

    • Ilse
    • 9. November 2010 um 15:24

    Hallo m-obi,

    also der Button ist definitiv transparent.
    Ich habe die Hintergrundfarbe der Gui einfach mal auf gelb gesetzt!

    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    auch gut in diesem Beispiel zu erkennen:

    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Die Guifarbe wird als Transparenz für den Button genommen!
    Ein transparentes gif oder png geht nicht!

    Dateien

    Button-Hintergrund2.jpg 39,15 kB – 0 Downloads Button-Hintergrund3.jpg 37,83 kB – 0 Downloads
  • Icon auf Bild

    • Ilse
    • 9. November 2010 um 14:45

    Hallo zusammen,

    ich habe ein Problem mit dem Hintergrund.
    Es gibt eine Hintergrund-Grafik.
    Darauf befindet sich ein icon mit transparentem Hintergrund.
    Das Icon ist auf der Gui transparent, jedoch nicht auf dem Bild!

    [autoit]


    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

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

    $Form1 = GUICreate("Form1", 615, 423, 192, 124)
    $Pic1 = GUICtrlCreatePic("C:\Hintergrundbild.jpg", 72, 24, 553, 377)
    $Icon1 = GUICtrlCreateIcon("C:\button-links.ico", -1, 8, 8, 129, 111)
    GUISetState(@SW_SHOW)

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

    GUISetBkColor(0xFF0000)
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    WEnd

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

    Ich hab das mal so angeordnet, damit man sieht was ich meine:

    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Dateien

    Button-Hintergrund.jpg 51,13 kB – 0 Downloads
  • Hover flackert

    • Ilse
    • 9. November 2010 um 12:05

    ..prima,

    klappt jetzt alles!

    Dank Dir
    Ilse ;)

  • Hover flackert

    • Ilse
    • 9. November 2010 um 09:44

    @h2112,

    merci nochmal für die Erklärung

    Eine Frage habe ich noch:

    Wenn ich den Cursor auf das Label bewege
    kommt es mich so vor als wenn da eine kleine Pause wäre!

    Kann man irgendwo diesen Wert ändern?


    Ilse ;)

  • Hover flackert

    • Ilse
    • 8. November 2010 um 21:11

    na, dann können wir das Rätsel lösen.

    Ich mach es für alle anderen etwas leichter ;)

    [autoit]


    Func _Hover_Label()
    $pos = GUIGetCursorInfo()

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

    If $pos[4] = $label1 And $Farbe = false Then
    GUICtrlSetBkColor($label1, 0xFF0000)
    $Farbe = True
    ElseIf $pos[4] <> $label1 And $Farbe = True then
    GUICtrlSetBkColor($label1, -2)
    $Farbe = False
    EndIf
    EndFunc

    [/autoit]

    Jetzt erkläre mir mal, was dieses Array an dieser Stelle soll ?(

    Grüße
    Ilse ;)

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™