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. Greek

Beiträge von Greek

  • Viele Linux fragen

    • Greek
    • 28. April 2009 um 17:33

    Hi,
    ich mach gerade Linux in der Schule und muss bald eine Arbeit nachschreiben.

    Würde mir einer helfen die Fragen zu beantworten?
    http://www.quicksnapper.com/Luinechor

    Die Bilder:
    SNC00134
    SNC00135
    SNC00136

    ( Um genau zu sein ist das die Arbeit xD, aber pssssst ;) )

    Bin schon fleißig am googlen, aber lieber hier noch jemand fragen der sich gut damit auskennt =)

  • Durchsichtige Ellipse mit GDI+

    • Greek
    • 27. April 2009 um 20:08
    Zitat von ChaosKeks

    Hey erst einmal super UDF, Greek! =P
    Aber ich weiß nicht ganz wie das geplant war, bei mir flickert das Script von H2112 immer noch wie wild :pinch:
    Weiß nicht ob das an meinem Laptop oder am OS liegen kann (hab Vista ;( )..

    Bei mir flakert da uberhaupt nix mit dem neuen Style O.o

    [autoit]

    Global Const $WS_EX_COMPOSITED = 0x2000000

    [/autoit]

    Im Englischen Board hatte auch einer Probleme der Vista hatte...

    aber weis nicht wie ich umschreiben soll, ich hab nirgends Vista zum ausprobieren ;(

  • Durchsichtige Ellipse mit GDI+

    • Greek
    • 27. April 2009 um 20:00
    Zitat von H2112

    PS: Greek Werde deine UDF weiterentfhelen. :)

    hey, danke :D

    Benutzt du das Script wenn du deinen PC runterfährst?^^

    Achja:
    Das hier brauchst du nicht, das wird schon in der Funktion gemacht.

    [autoit]

    _WinAPI_SetLayeredWindowAttributes($my_gui, 0xABCDEF, 255)

    [/autoit]
  • Ping erkennen

    • Greek
    • 27. April 2009 um 17:34

    Wenn du angepingt wurdest, füllt sich dein arp cache mit der ipadresse + mac adresse.Also weist du das angepingt wurdest und sogar von wem.

    Du lässt dir den arp cache mit arp -a in der cmd.exe ausgeben.

  • Es ist vorbei...

    • Greek
    • 26. April 2009 um 22:26

    Mein Gott, erst nen Herzinfakt gegrigt als ich das gelesen hab :rofl:

    Kaum zu glauben das du fast jede Post hier gelesen hast, mein Respekt.
    Aber jede 3 reicht ja auch vollkommen.

    Sind ja auch genugend Moderatoren hier, die das schon geregelt grigen :)

  • Kann man dieses Login wieder entschlüsseln (Profis gefragt)

    • Greek
    • 26. April 2009 um 18:47

    Nicht wiederentschlüsselbar ist md5, das ist nämlich nur ne Prüfsumme

  • _DrawTransparent

    • Greek
    • 26. April 2009 um 14:49

    So nochmals verbessert, Rect und Ellipse jetzt auch dynamisch.

    funkey
    Hast du _GuiRoundCorners erstellt? Habs aus einem Thread von dir, wenn ja muss nämlich noch dein Name zur UDF von dir :)

  • Durchsichtige Ellipse mit GDI+

    • Greek
    • 26. April 2009 um 12:58

    Hm komisch bei mir ist es mit Sleep trotzdem nochda,

    Spoiler anzeigen
    [autoit]

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

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

    Global $Anzahl=60
    Global $Ellipse[$Anzahl]

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

    $Form1 = GUICreate("Test", @DesktopWidth, @DesktopHeight, 0, 0, $WS_POPUP, BitOR ($WS_EX_TOPMOST, $WS_EX_LAYERED))
    GUISetBkColor ( 0x000000 )
    GUISetState()

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

    $Ellipse[0]=_DrawTransparentEllipse ( $Form1, @DesktopWidth/2-200, @DesktopHeight/2-200, 250, 200 )

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

    For $i=1 To $Anzahl-1 Step +1
    $Ellipse[$i]=_DrawTransparentEllipse ( $Form1, @DesktopWidth/2-200, @DesktopHeight/2-200, 250+$i, 200 )
    Sleep ( 20 )
    GUIDelete ( $Ellipse[$i-1] )
    Next

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

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

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

    Func _DrawTransparentEllipse($hwnd, $x,$y,$w,$h,$Transparency=255)
    $Child=GUICreate ( "", $w, $h, $x, $y, $WS_CHILD, -1, $hwnd )
    _WinAPI_SetLayeredWindowAttributes($Form1, 0xABCDEF, $Transparency)
    GUISetBkColor ( 0xABCDEF, $Child )
    _GuiRoundCorners ( $Child, 0, 0, $w, $h)
    GUISetState()
    Return $Child
    EndFunc

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

    Func _DrawTransparentRect($hwnd, $x,$y,$w,$h,$Transparency=255)
    $Child=GUICreate ( "", $w, $h, $x, $y, $WS_CHILD, -1, $hwnd )
    _WinAPI_SetLayeredWindowAttributes($Form1, 0xABCDEF, $Transparency)
    GUISetBkColor ( 0xABCDEF, $Child )
    GUISetState()
    Return $Child
    EndFunc

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

    Func _WinAPI_SetLayeredWindowAttributes($hwnd, $i_transcolor, $Transparency = 255, $dwFlages = 0x03, $isColorRef = False)
    ; progandy
    If $dwFlages = Default Or $dwFlages = "" Or $dwFlages < 0 Then $dwFlages = 0x03
    If Not $isColorRef Then
    $i_transcolor = Hex(String($i_transcolor), 6)
    $i_transcolor = Execute('0x00' & StringMid($i_transcolor, 5, 2) & StringMid($i_transcolor, 3, 2) & StringMid($i_transcolor, 1, 2))
    EndIf
    Local $Ret = DllCall("user32.dll", "int", "SetLayeredWindowAttributes", "hwnd", $hwnd, "long", $i_transcolor, "byte", $Transparency, "long", $dwFlages)
    Select
    Case @error
    Return SetError(@error, 0, 0)
    Case $Ret[0] = 0
    Return SetError(4, _WinAPI_GetLastError(), 0)
    Case Else
    Return 1
    EndSelect
    EndFunc ;==>_WinAPI_SetLayeredWindowAttributes

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

    Func _WinAPI_GetLastError()
    Local $aResult

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

    $aResult = DllCall("Kernel32.dll", "int", "GetLastError")
    If @error Then Return SetError(@error, 0, 0)
    Return $aResult[0]
    EndFunc ;==>_WinAPI_GetLastError

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

    Func _GuiRoundCorners($hWnd, $x1, $y1, $x3, $y3)
    Local $pos, $ret, $ret2
    $pos = WinGetPos($hWnd)
    $ret = DllCall('gdi32.dll', 'long', 'CreateRoundRectRgn', 'long', $x1, 'long', $y1, 'long', $pos[2], 'long', $pos[3], 'long', $x3, 'long', $y3)
    If $ret[0] Then
    $ret2 = DllCall('user32.dll', 'long', 'SetWindowRgn', 'hwnd', $hWnd, 'long', $ret[0], 'int', 1)
    If $ret2[0] Then
    Return 1
    Else
    Return 0
    EndIf
    Else
    Return 0
    EndIf
    EndFunc

    [/autoit]

    Ich frag gerade im Englischen Forum wie AutoIt die Guis löscht ohne zu flimmern, mal sehen was die schreiben.

    Edit:
    Hab die Lösung, einfach diesen Style noch dazu nehmen:

    [autoit]

    Global Const $WS_EX_COMPOSITED = 0x2000000

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

    $Form1 = GUICreate("Test", @DesktopWidth, @DesktopHeight, 0, 0, $WS_POPUP, BitOR ($WS_EX_TOPMOST, $WS_EX_LAYERED,$WS_EX_COMPOSITED))

    [/autoit]

    Edit2:
    Meine UDF ist jetzt auch geupdated, schaut mal rein =)

  • Durchsichtige Ellipse mit GDI+

    • Greek
    • 25. April 2009 um 13:07
    Zitat von H2112

    Ich mein, dass man nur eine zeichnet und die dann beliebig verkleiner oder vergrößern kann.

    Und das flimmern kommt, weil dann die dahinterliegende GUI ganz kurz aufflimmert.

    Ne verschieben kann man net, das kann mein bei GDI+ auch nicht, das flimmern muss aber von GuiDelet kommen weil dahinter noch ein durchsichtiges Gui ist, also wird der Hintergrund garnicht gezeigt...

  • Durchsichtige Ellipse mit GDI+

    • Greek
    • 25. April 2009 um 12:57
    Zitat von H2112

    Ich habs selber auch schon gemerkt...

    Wenn man doch nur die Größe der Ellipse ändern könnte. :/

    Kann man doch.

    Spoiler anzeigen
    [autoit]

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

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

    Global $Anzahl=50
    Global $Ellipse[$Anzahl]

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

    $Form1 = GUICreate("Test", @DesktopWidth, @DesktopHeight, 0, 0, $WS_POPUP, BitOR ($WS_EX_TOPMOST, $WS_EX_LAYERED))
    GUISetBkColor ( 0x000000 )
    GUISetState()

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

    $Ellipse[0]=_DrawTransparentEllipse ( $Form1, @DesktopWidth/2-200, @DesktopHeight/2-200, 250, 200 )

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

    For $i=1 To $Anzahl-1 Step +1
    $Ellipse[$i]=_DrawTransparentEllipse ( $Form1, @DesktopWidth/2-200, @DesktopHeight/2-200, 250+$i, 200 )
    GUIDelete ( $Ellipse[$i-1] )
    Next

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

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

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

    Func _DrawTransparentEllipse($hwnd, $x,$y,$w,$h,$Transparency=255)
    $Child=GUICreate ( "", $w, $h, $x, $y, $WS_CHILD, -1, $hwnd )
    _WinAPI_SetLayeredWindowAttributes($Form1, 0xABCDEF, $Transparency)
    GUISetBkColor ( 0xABCDEF, $Child )
    _GuiRoundCorners ( $Child, 0, 0, $w, $h)
    GUISetState()
    Return $Child
    EndFunc

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

    Func _DrawTransparentRect($hwnd, $x,$y,$w,$h,$Transparency=255)
    $Child=GUICreate ( "", $w, $h, $x, $y, $WS_CHILD, -1, $hwnd )
    _WinAPI_SetLayeredWindowAttributes($Form1, 0xABCDEF, $Transparency)
    GUISetBkColor ( 0xABCDEF, $Child )
    GUISetState()
    Return $Child
    EndFunc

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

    Func _WinAPI_SetLayeredWindowAttributes($hwnd, $i_transcolor, $Transparency = 255, $dwFlages = 0x03, $isColorRef = False)
    ; progandy
    If $dwFlages = Default Or $dwFlages = "" Or $dwFlages < 0 Then $dwFlages = 0x03
    If Not $isColorRef Then
    $i_transcolor = Hex(String($i_transcolor), 6)
    $i_transcolor = Execute('0x00' & StringMid($i_transcolor, 5, 2) & StringMid($i_transcolor, 3, 2) & StringMid($i_transcolor, 1, 2))
    EndIf
    Local $Ret = DllCall("user32.dll", "int", "SetLayeredWindowAttributes", "hwnd", $hwnd, "long", $i_transcolor, "byte", $Transparency, "long", $dwFlages)
    Select
    Case @error
    Return SetError(@error, 0, 0)
    Case $Ret[0] = 0
    Return SetError(4, _WinAPI_GetLastError(), 0)
    Case Else
    Return 1
    EndSelect
    EndFunc ;==>_WinAPI_SetLayeredWindowAttributes

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

    Func _WinAPI_GetLastError()
    Local $aResult

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

    $aResult = DllCall("Kernel32.dll", "int", "GetLastError")
    If @error Then Return SetError(@error, 0, 0)
    Return $aResult[0]
    EndFunc ;==>_WinAPI_GetLastError

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

    Func _GuiRoundCorners($hWnd, $x1, $y1, $x3, $y3)
    Local $pos, $ret, $ret2
    $pos = WinGetPos($hWnd)
    $ret = DllCall('gdi32.dll', 'long', 'CreateRoundRectRgn', 'long', $x1, 'long', $y1, 'long', $pos[2], 'long', $pos[3], 'long', $x3, 'long', $y3)
    If $ret[0] Then
    $ret2 = DllCall('user32.dll', 'long', 'SetWindowRgn', 'hwnd', $hWnd, 'long', $ret[0], 'int', 1)
    If $ret2[0] Then
    Return 1
    Else
    Return 0
    EndIf
    Else
    Return 0
    EndIf
    EndFunc

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

    Func _DrawTransparentLine($hwnd, $X,$Y,$length,$course,$pensize=2,$Transparency=255)
    _WinAPI_SetLayeredWindowAttributes($hwnd, 0xABCDEF, $Transparency)
    $g1=GUICtrlCreateGraphic($X,$Y,0,0)
    GUICtrlSetGraphic($g1, $GUI_GR_PENSIZE, $pensize )
    GUICtrlSetGraphic($g1, $GUI_GR_COLOR,0xABCDEF, 0xABCDEF)
    GUICtrlSetGraphic($g1, $GUI_GR_LINE, $length, $course)
    GUICtrlSetGraphic($g1, $GUI_GR_REFRESH)
    GUICtrlSetGraphic($g1, $GUI_GR_LINE, 1, 1)
    Return $g1
    EndFunc

    [/autoit]

    Aber die Funktion GuiDelete flimmer, wenn man sie auskommentiert und die Guis von AutoIt löschen lässt flimmert es kein bischen!

    AutoIt löscht die Guis irgendwie anders ;(

  • Durchsichtige Ellipse mit GDI+

    • Greek
    • 25. April 2009 um 01:22

    Hehe^^

    So _DrawTransparentEllipse hab ich jetzt auch so umgesetzt, warn bissel schwerer.

    Hier gleich mit dynamischen Beispiel :)

    Spoiler anzeigen
    [autoit]

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

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

    Global $Anzahl=150
    Global $Ellipse[$Anzahl]

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

    $Form1 = GUICreate("Test", @DesktopWidth, @DesktopHeight, 0, 0, $WS_POPUP, BitOR ($WS_EX_TOPMOST, $WS_EX_LAYERED))
    GUISetBkColor ( 0x000000 )
    GUISetState()

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

    For $i=0 To $Anzahl-1 Step +1
    $Ellipse[$i]=_DrawTransparentEllipse ( $Form1, @DesktopWidth/2-200+$i, @DesktopHeight/2-200+$i, 1+$i, 1+$i )
    Next

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

    For $i=149 To 100 Step -1
    GUIDelete($Ellipse[$i])
    Next

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

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

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

    Func _DrawTransparentEllipse($hwnd, $x,$y,$w,$h,$Transparency=255)
    $Child=GUICreate ( "", $w, $h, $x, $y, $WS_CHILD, -1, $hwnd )
    _WinAPI_SetLayeredWindowAttributes($Form1, 0xABCDEF, $Transparency)
    GUISetBkColor ( 0xABCDEF, $Child )
    _GuiRoundCorners ( $Child, 0, 0, $w, $h)
    GUISetState()
    Return $Child
    EndFunc

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

    Func _DrawTransparentRect($hwnd, $x,$y,$w,$h,$Transparency=255)
    $Child=GUICreate ( "", $w, $h, $x, $y, $WS_CHILD, -1, $hwnd )
    _WinAPI_SetLayeredWindowAttributes($Form1, 0xABCDEF, $Transparency)
    GUISetBkColor ( 0xABCDEF, $Child )
    GUISetState()
    Return $Child
    EndFunc

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

    Func _WinAPI_SetLayeredWindowAttributes($hwnd, $i_transcolor, $Transparency = 255, $dwFlages = 0x03, $isColorRef = False)
    ; progandy
    If $dwFlages = Default Or $dwFlages = "" Or $dwFlages < 0 Then $dwFlages = 0x03
    If Not $isColorRef Then
    $i_transcolor = Hex(String($i_transcolor), 6)
    $i_transcolor = Execute('0x00' & StringMid($i_transcolor, 5, 2) & StringMid($i_transcolor, 3, 2) & StringMid($i_transcolor, 1, 2))
    EndIf
    Local $Ret = DllCall("user32.dll", "int", "SetLayeredWindowAttributes", "hwnd", $hwnd, "long", $i_transcolor, "byte", $Transparency, "long", $dwFlages)
    Select
    Case @error
    Return SetError(@error, 0, 0)
    Case $Ret[0] = 0
    Return SetError(4, _WinAPI_GetLastError(), 0)
    Case Else
    Return 1
    EndSelect
    EndFunc ;==>_WinAPI_SetLayeredWindowAttributes

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

    Func _WinAPI_GetLastError()
    Local $aResult

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

    $aResult = DllCall("Kernel32.dll", "int", "GetLastError")
    If @error Then Return SetError(@error, 0, 0)
    Return $aResult[0]
    EndFunc ;==>_WinAPI_GetLastError

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

    Func _GuiRoundCorners($hWnd, $x1, $y1, $x3, $y3)
    Local $pos, $ret, $ret2
    $pos = WinGetPos($hWnd)
    $ret = DllCall('gdi32.dll', 'long', 'CreateRoundRectRgn', 'long', $x1, 'long', $y1, 'long', $pos[2], 'long', $pos[3], 'long', $x3, 'long', $y3)
    If $ret[0] Then
    $ret2 = DllCall('user32.dll', 'long', 'SetWindowRgn', 'hwnd', $hWnd, 'long', $ret[0], 'int', 1)
    If $ret2[0] Then
    Return 1
    Else
    Return 0
    EndIf
    Else
    Return 0
    EndIf
    EndFunc

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

    Func _DrawTransparentLine($hwnd, $X,$Y,$length,$course,$pensize=2,$Transparency=255)
    _WinAPI_SetLayeredWindowAttributes($hwnd, 0xABCDEF, $Transparency)
    $g1=GUICtrlCreateGraphic($X,$Y,0,0)
    GUICtrlSetGraphic($g1, $GUI_GR_PENSIZE, $pensize )
    GUICtrlSetGraphic($g1, $GUI_GR_COLOR,0xABCDEF, 0xABCDEF)
    GUICtrlSetGraphic($g1, $GUI_GR_LINE, $length, $course)
    GUICtrlSetGraphic($g1, $GUI_GR_REFRESH)
    GUICtrlSetGraphic($g1, $GUI_GR_LINE, 1, 1)
    Return $g1
    EndFunc

    [/autoit]
  • Variable abrunden

    • Greek
    • 25. April 2009 um 01:18
    Zitat von Cryfall

    danke :D
    aber hättest ja noch zu schreiben können, dat der bei einer ,5 zahl aufrundet :P
    gruß
    cryfall

    Wups, das hab ich garnicht gelesen T.T

    sry^^

  • Variable abrunden

    • Greek
    • 25. April 2009 um 00:01
    [autoit]

    Round ( expression [, decimalplaces] )

    [/autoit]

    ??

  • Durchsichtige Ellipse mit GDI+

    • Greek
    • 25. April 2009 um 00:00
    Zitat von ChaosKeks

    Euch ist aber klar, das ich mal eben in 5 sekunden 300 Guis erstellt? :P Also jedenfalls bei mir geht die CPU direkt auf 100%.. mach das lieber so das du die Childs in nem Array erstellt und immer nach dem erstellen von ner neuen gui die letzte löscht..

    ja ist schon klar^^

    hab das nur schnell gemacht, muss jetzt erstma die neuen UDFs schreiben =)

  • Durchsichtige Ellipse mit GDI+

    • Greek
    • 24. April 2009 um 22:46
    Zitat von H2112

    Edit: Ne Frage:
    Wie hast du das mit esc gemacht?

    Das ist automatisch bei AutoIt so, man muss es erst ausstellen mit Opt("GUICloseOnESC", 0 ).

    Und da er beim Beenden erst alle Child GUIs löscht, gibt das schon so einen schönen Effekt :)

  • Durchsichtige Ellipse mit GDI+

    • Greek
    • 24. April 2009 um 19:22

    Endlich hab ichs raus =D

    Muss aber alles nochma umschreiben, da die Methode GuiCtrlCreateGraphic garnicht mehr benutzt.
    Dauert nen bissel, aber auch gerade net viel Zeit also rechne erstma morgen damit.

    Hier nen kleiner vorgeschmack ;)

    Spoiler anzeigen
    [autoit]

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

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

    $Form1 = GUICreate("Test", @DesktopWidth, @DesktopHeight, 0, 0, $WS_POPUP, BitOR ($WS_EX_TOPMOST, $WS_EX_LAYERED))
    GUISetBkColor ( 0x000000 )
    GUISetState()

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

    For $i=0 To 300 Step +1
    _DrawTransparentRect ( $Form1, 20, 20, 1+$i, 1+$i )
    Next

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

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

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

    Func _DrawTransparentRect($hwnd, $x,$y,$w,$h,$Transparency=255)
    $Child=GUICreate ( "", $w, $h, $x, $y, $WS_CHILD, -1, $hwnd )
    _WinAPI_SetLayeredWindowAttributes($Form1, 0xABCDEF, $Transparency)
    GUISetBkColor ( 0xABCDEF, $Child )
    GUISetState()
    Return $Child
    EndFunc

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

    Func _WinAPI_SetLayeredWindowAttributes($hwnd, $i_transcolor, $Transparency = 255, $dwFlages = 0x03, $isColorRef = False)
    ; progandy
    If $dwFlages = Default Or $dwFlages = "" Or $dwFlages < 0 Then $dwFlages = 0x03
    If Not $isColorRef Then
    $i_transcolor = Hex(String($i_transcolor), 6)
    $i_transcolor = Execute('0x00' & StringMid($i_transcolor, 5, 2) & StringMid($i_transcolor, 3, 2) & StringMid($i_transcolor, 1, 2))
    EndIf
    Local $Ret = DllCall("user32.dll", "int", "SetLayeredWindowAttributes", "hwnd", $hwnd, "long", $i_transcolor, "byte", $Transparency, "long", $dwFlages)
    Select
    Case @error
    Return SetError(@error, 0, 0)
    Case $Ret[0] = 0
    Return SetError(4, _WinAPI_GetLastError(), 0)
    Case Else
    Return 1
    EndSelect
    EndFunc ;==>_WinAPI_SetLayeredWindowAttributes

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

    Func _WinAPI_GetLastError()
    Local $aResult

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

    $aResult = DllCall("Kernel32.dll", "int", "GetLastError")
    If @error Then Return SetError(@error, 0, 0)
    Return $aResult[0]
    EndFunc ;==>_WinAPI_GetLastError

    [/autoit]

    Wenn er fertig ist und du ESC drückst, löscht er erst alle Child GUI zuerst, sieht gut aus :)

  • Durchsichtige Ellipse mit GDI+

    • Greek
    • 24. April 2009 um 11:45

    Also die vor zu zeichnen ist eigentlich kein Problem, aber hab keinen Befehl der die einzeln Hide und Show macht, es geht nur mit dem ganzen GUI

    Spoiler anzeigen
    [autoit]

    Global $big=200
    Global $buffer[$big+1]

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

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    $gui=GUICreate ( "Transparent Ellipse and Rect", @DesktopWidth, @DesktopHeight, 0, 0, $WS_POPUP, BitOR( $WS_EX_TOPMOST, $WS_EX_LAYERED ) )
    GUISetBkColor ( 0x000000 )
    GUICtrlCreateLabel("", 0, 0, 420, 500, -1, $GUI_WS_EX_PARENTDRAG)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    GUISetState (@SW_HIDE)

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

    For $i=0 To $big Step +1
    $buffer[$i]=_DrawTransparentEllipse ( $gui, @DesktopWidth/2-400, @DesktopHeight/2-300, 750+$i, 500+$i )
    Next
    GUISetState (@SW_SHOW)

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

    ;~ GUICtrlSetState()

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

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

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

    Func _DeletTransparentForm ( $Form )
    $a=GUICtrlDelete ( $Form )
    Return $a
    EndFunc

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

    Func _DrawTransparentLine($hwnd, $X,$Y,$length,$course,$pensize=2,$Transparency=255)
    _WinAPI_SetLayeredWindowAttributes($hwnd, 0xABCDEF, $Transparency)
    $g1=GUICtrlCreateGraphic($X,$Y,0,0)
    GUICtrlSetGraphic($g1, $GUI_GR_PENSIZE, $pensize )
    GUICtrlSetGraphic($g1, $GUI_GR_COLOR,0xABCDEF, 0xABCDEF)
    GUICtrlSetGraphic($g1, $GUI_GR_LINE, $length, $course)
    GUICtrlSetGraphic($g1, $GUI_GR_REFRESH)
    GUICtrlSetGraphic($g1, $GUI_GR_LINE, 1, 1)
    Return $g1
    EndFunc

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

    Func _DrawTransparentRect($hwnd, $x,$y,$w,$h,$Transparency=255, $RectBorderColor=0xABCDEF)
    _WinAPI_SetLayeredWindowAttributes($hwnd, 0xABCDEF, $Transparency)
    $g1=GUICtrlCreateGraphic(0,0,0,0)
    GUICtrlSetGraphic($g1, $GUI_GR_COLOR,$RectBorderColor, 0xABCDEF)
    GUICtrlSetGraphic($g1, $GUI_GR_RECT, $x, $y, $w, $h)
    GUICtrlSetGraphic($g1, $GUI_GR_REFRESH)
    GUICtrlSetGraphic($g1, $GUI_GR_LINE, 1, 1)
    Return $g1
    EndFunc

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

    Func _DrawTransparentEllipse($hwnd, $x,$y,$w,$h,$Transparency=255,$EllipseBorderColor=0xABCDEF)
    _WinAPI_SetLayeredWindowAttributes($hwnd, 0xABCDEF, $Transparency)
    $g1=GUICtrlCreateGraphic(0,0,0,0)
    GUICtrlSetGraphic($g1, $GUI_GR_COLOR,$EllipseBorderColor, 0xABCDEF)
    $g2=GUICtrlSetGraphic($g1, $GUI_GR_ELLIPSE, $x, $y, $w, $h)
    GUICtrlSetGraphic($g1, $GUI_GR_REFRESH)
    GUICtrlSetGraphic($g1, $GUI_GR_LINE, 1, 1)
    Return $g2
    EndFunc

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

    Func _WinAPI_SetLayeredWindowAttributes($hwnd, $i_transcolor, $Transparency = 255, $dwFlages = 0x03, $isColorRef = False)
    ; progandy
    If $dwFlages = Default Or $dwFlages = "" Or $dwFlages < 0 Then $dwFlages = 0x03
    If Not $isColorRef Then
    $i_transcolor = Hex(String($i_transcolor), 6)
    $i_transcolor = Execute('0x00' & StringMid($i_transcolor, 5, 2) & StringMid($i_transcolor, 3, 2) & StringMid($i_transcolor, 1, 2))
    EndIf
    Local $Ret = DllCall("user32.dll", "int", "SetLayeredWindowAttributes", "hwnd", $hwnd, "long", $i_transcolor, "byte", $Transparency, "long", $dwFlages)
    Select
    Case @error
    Return SetError(@error, 0, 0)
    Case $Ret[0] = 0
    Return SetError(4, _WinAPI_GetLastError(), 0)
    Case Else
    Return 1
    EndSelect
    EndFunc ;==>_WinAPI_SetLayeredWindowAttributes

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

    Func _WinAPI_GetLastError()
    Local $aResult

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

    $aResult = DllCall("Kernel32.dll", "int", "GetLastError")
    If @error Then Return SetError(@error, 0, 0)
    Return $aResult[0]
    EndFunc ;==>_WinAPI_GetLastError

    [/autoit]
  • Kein Koda unter "Tools"

    • Greek
    • 24. April 2009 um 10:32

    mh, guck ma ob Scite richtig installiert wurde

    geh zu deinem AutoIT ordner dann auf Scite und da auf Koda.

  • Durchsichtige Ellipse mit GDI+

    • Greek
    • 23. April 2009 um 23:09

    Mir fällt da nur löschen und neuzeichnen ein, leider flimmert das aber mit meiner UDF wenn du es oft machst =/

    Vieleicht kann man es löschen ohne das es so flimmer, aber hab dafür noch nix gefunden, ich probiers morgen nochmal.

  • Hilfe Kann Man Eigentlich ein programm aktuallisieren denn man grade schreibt

    • Greek
    • 23. April 2009 um 19:28

    Und?
    Haste es gefunden, was wir meinen?

    Wenn nicht hier mal der direkt Link, finde die Englische Seite auch manchmal nen Bissel verwirrend und bei uns ist ja gerade irgendwie der download Bereich kaput.

    Scite hier runterladen

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™