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

Beiträge von Nestos

  • Durchsichtige Ellipse mit GDI+

    • Nestos
    • 20. April 2009 um 21:47

    Ich bekomms einfach nicht hin, dass das Objekt gelöscht wird. :S

    Könnte mir da mal bitte wer aushälfen...

    Ich habs mit

    [autoit]

    DllCall("gdi32.dll", "int", "DeleteObject", "hwnd", $inner_rgn[0])

    [/autoit]


    und

    [autoit]

    DllCall("gdi32.dll", "int", "DeleteObject", "int", $inner_rgn[0])

    [/autoit]


    versucht...

  • Durchsichtige Ellipse mit GDI+

    • Nestos
    • 19. April 2009 um 22:58

    Ich hab diese Befehle in AutoIt nicht?

  • Durchsichtige Ellipse mit GDI+

    • Nestos
    • 19. April 2009 um 22:52

    Weil ich GDI+ besser versteh und es Autoit Befehlen sind. (Versteh das mit DLLCall nicht)

  • Durchsichtige Ellipse mit GDI+

    • Nestos
    • 19. April 2009 um 22:43

    Ich hab das problem, dass ich eine durchsichtige Ellipse machen will, diese dann aber auch nach einer Zeit entfernen will.

    Ich hab das ganze ja schon in GDI gesehen ( Loch in GUI ), aber das is eben nicht in GDI+.

    Schonmal Danke im Vorraus.

    Das Script in GDI:

    Spoiler anzeigen
    [autoit]

    #include <GuiConstants.au3>

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

    $my_gui = GUICreate("MyGUI", @DesktopWidth, @DesktopHeight, 0, 0, 0x80000000, BitOR(0x00000080, 0x00000008))
    GUISetBkColor(0x000000, $my_gui)

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

    GUISetState(@SW_SHOW)

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

    _GuiHole($my_gui, @DesktopWidth/16, @DesktopHeight/8, @DesktopWidth/1.15, @DesktopHeight/1.30)

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

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop
    Case Else
    ;;;
    EndSelect
    WEnd
    Exit

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

    Func _GuiHole($h_win, $i_x, $i_y, $i_sizew, $i_sizeh)
    Dim $pos, $outer_rgn, $inner_rgn, $wh, $combined_rgn, $ret
    $pos = WinGetPos($h_win)

    $outer_rgn = DllCall("gdi32.dll", "long", "CreateRectRgn", "long", 0, "long", 0, "long", $pos[2], "long", $pos[3])
    If IsArray($outer_rgn) Then
    $inner_rgn = DllCall("gdi32.dll", "long", "CreateEllipticRgn", "long", $i_x, "long", $i_y, "long", $i_x + $i_sizew, "long", $i_y + $i_sizeh)
    If IsArray($inner_rgn) Then
    $combined_rgn = DllCall("gdi32.dll", "long", "CreateRectRgn", "long", 0, "long", 0, "long", 0, "long", 0)
    If IsArray($combined_rgn) Then
    DllCall("gdi32.dll", "long", "CombineRgn", "long", $combined_rgn[0], "long", $outer_rgn[0], "long", $inner_rgn[0], "int", 4)
    $ret = DllCall("user32.dll", "long", "SetWindowRgn", "hwnd", $h_win, "long", $combined_rgn[0], "int", 1)
    If $ret[0] Then
    Return 1
    Else
    Return 0
    EndIf
    Else
    Return 0
    EndIf
    Else
    Return 0
    EndIf
    Else
    Return 0
    EndIf

    EndFunc ;==>_GuiHole

    [/autoit]
  • "WinFX"-UDF

    • Nestos
    • 19. April 2009 um 21:27

    Ich habs ^^ Also mal das Auge:

    Spoiler anzeigen
    [autoit]

    #include <GuiConstants.au3>

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

    $my_gui = GUICreate("MyGUI", @DesktopWidth, @DesktopHeight, 0, 0, 0x80000000, BitOR(0x00000080, 0x00000008))
    GUISetBkColor(0x000000, $my_gui)

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

    _GuiHole($my_gui, @DesktopWidth/16, @DesktopHeight/8, @DesktopWidth/1.15, @DesktopHeight/1.30)
    GUISetState(@SW_SHOW)

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

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop
    Case Else
    ;;;
    EndSelect
    WEnd
    Exit

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

    Func _GuiHole($h_win, $i_x, $i_y, $i_sizew, $i_sizeh)
    Dim $pos, $outer_rgn, $inner_rgn, $wh, $combined_rgn, $ret
    $pos = WinGetPos($h_win)

    $outer_rgn = DllCall("gdi32.dll", "long", "CreateRectRgn", "long", 0, "long", 0, "long", $pos[2], "long", $pos[3])
    If IsArray($outer_rgn) Then
    $inner_rgn = DllCall("gdi32.dll", "long", "CreateEllipticRgn", "long", $i_x, "long", $i_y, "long", $i_x + $i_sizew, "long", $i_y + $i_sizeh)
    If IsArray($inner_rgn) Then
    $combined_rgn = DllCall("gdi32.dll", "long", "CreateRectRgn", "long", 0, "long", 0, "long", 0, "long", 0)
    If IsArray($combined_rgn) Then
    DllCall("gdi32.dll", "long", "CombineRgn", "long", $combined_rgn[0], "long", $outer_rgn[0], "long", $inner_rgn[0], "int", 4)
    $ret = DllCall("user32.dll", "long", "SetWindowRgn", "hwnd", $h_win, "long", $combined_rgn[0], "int", 1)
    If $ret[0] Then
    Return 1
    Else
    Return 0
    EndIf
    Else
    Return 0
    EndIf
    Else
    Return 0
    EndIf
    Else
    Return 0
    EndIf

    EndFunc ;==>_GuiHole

    [/autoit]

    Thx an Mega ^^

  • "WinFX"-UDF

    • Nestos
    • 19. April 2009 um 17:20

    Ich schau was ich machen kann ^^

  • "WinFX"-UDF

    • Nestos
    • 19. April 2009 um 16:45

    Eine gute animation wäre auch, wenn man ein sich schließendes Auge machen würde. Hätte den gleichen Effekt wie das ausblenden :D

  • "WinFX"-UDF

    • Nestos
    • 18. April 2009 um 14:27

    ich hab sie aber trotzdem drinnen gelassen ^^ Und das sollte nur als Beispiel dienen ;)

  • "WinFX"-UDF

    • Nestos
    • 18. April 2009 um 14:05

    Ich hab das mal ein bisschen umgeschrieben :) Hoffe du bist mir nicht böse...

    Spoiler anzeigen
    [autoit]

    HotKeySet("{F1}", "_Exit")

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

    $guieins = GUICreate("CloseDesktop.1", @DesktopWidth, 0, 0, 0, 0x80000000, BitOr(0x00000080, 0x00000008))
    GUISetState(@SW_SHOW, $guieins)
    GUISetBkColor(0x000000,$guieins)
    $guizwei = GUICreate("CloseDesktop.2", @DesktopWidth, 0, 0, @DesktopHeight, 0x80000000, BitOr(0x00000080, 0x00000008))
    GUISetState(@SW_SHOW, $guizwei)
    GUISetBkColor(0x000000,$guizwei)

    $Flash = GUICreate("Flash", @DesktopWidth, @DesktopHeight, 0, 0, 0x80000000, 0x00000080)
    WinSetTrans("Flash", "", 0)
    GUISetState(@SW_HIDE)

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

    Func _WinFX_ResizeWindow($sWindow,$width, $height,$step=5)
    $sTitle = WinGetTitle($sWindow)
    $sText = WinGetText($sWindow)
    $hHandle = WinGetHandle($sWindow)
    $pos = WinGetPos($sTitle)
    If not IsArray($pos) Then return false
    $oldwidth=$pos[2]
    $oldheight=$pos[3]
    $oldx=$pos[0]
    $oldy=$pos[1]
    $wdiff=$width-$oldwidth
    $hdiff=$height-$oldheight
    $j=0
    $i=0
    $wStep=$step
    $hStep=$step
    If $wdiff < 0 then $wStep = - $wStep
    If $hdiff < 0 then $hStep = - $hStep
    while Abs($i) <= Abs($wdiff) Or Abs($j) <= Abs($hdiff)
    If Abs($i) <= Abs($wdiff) Then $i += $wStep
    If Abs($j) <= Abs($hdiff) Then $j += $hStep
    MsgBox(0,"","newwidth=" & $oldwidth+$i & @CRLF & "newheight=" & $oldheight+$j & @CRLF & "i=" & $i)
    WinMove($sTitle,"",$oldx,$oldy,$oldwidth+$i,$oldheight+$j)
    WEnd
    Return $pos
    EndFunc

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

    Func _WinFX_FlashDesktop($Speed, $Color)
    If $Color = 0 Then
    $Color = 0xFFFFFF
    EndIf
    GUISetBkColor($Color)
    GUISetState(@SW_SHOW)
    For $i = 0 To 255 step $Speed
    WinSetTrans("Flash", "", $i)
    Next

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

    For $i=255 To 0 step -$Speed
    WinSetTrans("Flash","",$i)
    Next

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

    If Not @error Then
    Return True
    Else
    Return False
    EndIf
    GUISetState(@SW_HIDE)
    EndFunc

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

    Func _WinFX_CloseDesktop()
    For $i=1 To @DesktopHeight Step 1
    WinMove("CloseDesktop.1","",0,0,@DesktopWidth,$i)
    WinMove("CloseDesktop.2","",0,(@DesktopHeight)-$i,@DesktopWidth,$i)
    Next
    EndFunc
    Func _WinFX_OpenDesktop()
    For $i=@DesktopHeight to 1 step -1
    WinMove("CloseDesktop.1","",0,0,@DesktopWidth,$i)
    WinMove("CloseDesktop.2","",0,(@DesktopHeight)-$i,@DesktopWidth,$i)
    Next
    EndFunc

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

    Func _Exit()
    Exit
    EndFunc

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

    ;EXAMPLE
    ;~ $old=_WinFX_ResizeWindow("""WinFX",500,500,20)
    ;~ $old=_WinFX_ResizeWindow("""WinFX",$old[2],$old[3],20)

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

    _WinFX_CloseDesktop()
    _WinFX_OpenDesktop()
    Sleep(1000)
    While 1
    $zufall = Random(1,7,1)
    If $zufall = 1 Then
    _WinFX_FlashDesktop(10, "0xFF0000")
    ElseIf $zufall = 2 Then
    _WinFX_FlashDesktop(10, "0x00FF00")
    ElseIf $zufall = 3 Then
    _WinFX_FlashDesktop(10, "0x0000FF")
    ElseIf $zufall = 4 Then
    _WinFX_FlashDesktop(10, "0xFF00FF")
    ElseIf $zufall = 5 Then
    _WinFX_FlashDesktop(10, "0xFFFF00")
    ElseIf $zufall = 6 Then
    _WinFX_FlashDesktop(10, "0x00FFFF")
    ElseIf $zufall = 7 Then
    _WinFX_FlashDesktop(10, "0xFFFFFF")
    EndIf
    WEnd

    [/autoit]

    PS: Für die dies nicht gesehen haben, mit F1 beendet man ^^

  • AnyGUI.au3

    • Nestos
    • 18. April 2009 um 14:03

    Ich find das einfach nur genial ^^

  • "WinFX"-UDF

    • Nestos
    • 18. April 2009 um 12:09

    thx...
    Funktioniert super ^^

  • "WinFX"-UDF

    • Nestos
    • 18. April 2009 um 11:55

    Die Funktion soll die Funktion _WinFX_CloseDesktop ergänzen, indem sie genau das gegenteil von _WinFX_CloseDesktop macht.

  • "WinFX"-UDF

    • Nestos
    • 18. April 2009 um 11:40

    Find ich super ^^

    Aber du solltest auch eine _WinFX_OpenDesktop Funktion machen...

  • DarkAge (Spiel)

    • Nestos
    • 11. April 2009 um 15:26

    Mach dir nichts draus :P Ich kenn mich so besser aus...

    Aber im Update wird es nur mehr beim Speichern INIs geben (verschlüsselt, viel Spaß beim knacken :D).

    PS:
    Ein Bild von der neuen Oberfläche is im Anhang :D

  • DarkAge (Spiel)

    • Nestos
    • 10. April 2009 um 12:48

    Laden Funktion wird noch eingebaut ^^
    Und wegen den Inis:
    Es dient dazu, dass alles übersichtlicher bleibt (wird trotzdem geändert)...

  • DarkAge (Spiel)

    • Nestos
    • 9. April 2009 um 10:33

    Hab ich auch schon erledigt ^^
    Ich hab nämlich immer gegen den Bot gewonnen, weil ich immer sofort wieder angegriffen hab.

    Nun hab ich das mit Variablen gelöst.
    Sollte beim nächsten Update kommen...

  • pcp Color-Generator v1.1

    • Nestos
    • 8. April 2009 um 20:35

    Super Arbeit ^^

    Verbesserungsvorschlag:
    Du könntest ja machen, dass das Programm bei einem Tastendruck den aktuellen Wert in eine Ini Datei schreibt.

    Beispiel:

    [autoit]


    ;===============================================================================
    ; HotkeySet
    ;===============================================================================
    HotKeySet("{F2}", "_IniWriteWert")
    ;
    ;===============================================================================
    ; Declaring Variables
    ;===============================================================================
    ; Werte
    Global $Write_Wert = 0
    ;
    ;===============================================================================
    ; HotKeySet Funktions
    ;===============================================================================
    Func _IniWriteWert()
    $Write_Wert = $Write_Wert + 1
    IniWrite("farben.ini", "Farben", "Farbe" & $Write_Wert, GUICtrlRead($h_ColorCode_Input))
    EndFunc ;==>_IniWriteWert
    ;

    [/autoit]

    PS: Ich habs schon eingebaut ^^

  • DarkAge (Spiel)

    • Nestos
    • 8. April 2009 um 10:14

    Dafür hab ich auch schon eine Lösung gefunden ;P Cheater an die Wand! xD

  • Problem mit GUI: GUI Fenster lässt sich nicht in den Status @SW_SHOW versetzen

    • Nestos
    • 4. April 2009 um 17:36

    Oh, Danke ^^

    Beim Syntax Check hat er aber nicht gemeckert 8|

    Naja Hauptsache es geht...

  • Problem mit GUI: GUI Fenster lässt sich nicht in den Status @SW_SHOW versetzen

    • Nestos
    • 4. April 2009 um 15:36

    Irgendwie kann man immer nur zwei GUIs nacheinander benutzen.
    KA warum...

    Edit:
    Dann werd ich das ganze wohl mit GUIDelate schreiben müssen...

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™