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

Beiträge von alpines

  • _WinAPI_SetLayeredWindowAttributes, transparente Sektionen sind bei Windows 10 inaktiv, nicht bei Windows 7.

    • alpines
    • 9. September 2018 um 19:23
    Zitat von xTcisloVe

    Trotzdem kommt es mir vor als könnte man nur exakt auf den Text drücken und der Hintergrund reagiert nicht.

    Ich kann auch zwischen Text und Rand klicken und es funktioniert ohne Probleme.

    Zitat von xTcisloVe

    Es sind ja nicht überall die selben user untewegs oder?

    Das hat damit nichts zu tun. Wir verwenden hier unsere Freizeit um anderen Usern zu helfen und wenn man merkt, dass diese einfach nur so schnell wie möglich die Lösung haben wollen ohne dafür ein paar Minuten zu warten oder was dazu zu lernen, macht das einfach keinen Spaß mehr. Ein bisschen Respekt muss schon sein.

    Dann gibts auch noch Leute die überall posten, die Lösung abgreifen und dann sich nicht mehr melden, die Threads stauben voll und niemand hat was davon.

  • _WinAPI_SetLayeredWindowAttributes, transparente Sektionen sind bei Windows 10 inaktiv, nicht bei Windows 7.

    • alpines
    • 9. September 2018 um 19:03
    Zitat von xTcisloVe

    Ändert nichts, habe es probiert.

    GUICtrlSetState(-1,$GUI_DISABLE)

    Ich wette mit dir du hast das falsche disabled. Ich meinte das Label welches um den Labelbutton liegt.

    Crossposting wird hier nicht gerne gesehen also lass das bitte.

    AutoIt
    #include <StaticConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #Include <GuiButton.au3>
    #include <GuiTab.au3>
    #include <Array.au3>
    #include <EditConstants.au3>
    Opt("GUIOnEventMode", 1)
    Local $hMain[8]
    Local $GUI, $GUIChild
    Local $aDropFiles
    _GUIMain()
    
    While 1
    
    WEnd
    
    Func _GUIMain()
    $hMain[0] = 7
    $GUI = GUICreate("GUIMain",1245,800,-1,-1,$WS_MAXIMIZEBOX,$WS_EX_ACCEPTFILES+$WS_EX_LAYERED)
    GUICtrlCreatePic(@scriptdir&"\"&"cmd.jpg",0,0,1245,800,$WS_CLIPSIBLINGS)
        GUICtrlSetState(-1,$GUI_DISABLE)
    $GUIChild = GUICreate("GUIMain",1245,800,-1,-1,$WS_POPUP,BitOr($WS_EX_LAYERED,$WS_EX_MDICHILD), $GUI)
        GUISetFont(12, 0, 0, 0, $GUIChild, 5)
        GUISetBkColor(0x605f5f, $GUIChild)
        GUICtrlSetDefColor(0xffffff, $GUIChild)
        GUICtrlSetDefBkColor(0x605f5f, $GUIChild)
        GUISetIcon(@ScriptDir & "\tools\icon.ico", $GUIChild)
    GUICtrlCreateLabel("",10,195,400,125,-1,$WS_EX_CLIENTEDGE)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlCreateLabel("aUserDir[1]",15,200,390,25,BitOr($SS_CENTER,$SS_CENTERIMAGE),-1)
        GUICtrlSetFont(-1,15,0,0,0,5)
    $hMain[1] = GUICtrlCreateLabel("aUserDir[1]",15,240,390,25,$SS_CENTERIMAGE,$WS_EX_CLIENTEDGE)
        GUICtrlSetFont(-1,13,0,0,0,5)
    $hMain[2] = GUICtrlCreateLabel("Drag & Drop or Browse to change.",15,280,260,25,$SS_CENTERIMAGE,$WS_EX_CLIENTEDGE)
        GUICtrlSetState(-1,BitOr($GUI_SHOW,$GUI_ENABLE,$GUI_DROPACCEPTED))
        GUICtrlSetFont(-1,14,0,0,0,5)
    $hMain[3] = GUICtrlCreateLabel("Browse",280,280,60,25,$SS_CENTERIMAGE+$SS_CENTER,$WS_EX_CLIENTEDGE)
    $hMain[4] = GUICtrlCreateLabel("Exit",1110,730,120,30,$SS_CENTERIMAGE+$SS_CENTER,$WS_EX_CLIENTEDGE)
    $hMain[5] = GUICtrlCreateGroup("Open Question",125,362,109,81,-1,-1)
    $hMain[6] = GUICtrlCreateRadio("On",157,390,53,20,-1,-1)
    $hMain[7] = GUICtrlCreateRadio("Off",157,416,53,20,-1,-1)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    For $i = 1 To $hMain[0]
        DllCall("UxTheme.dll", "int", "SetWindowTheme", "hwnd", GUICtrlGetHandle($hMain[$i]), "wstr", 0, "wstr", 0)
        GUICtrlSetColor(-1, 0xFFFFFF)
    Next
    GUIRegisterMsg($WM_DROPFILES, 'WM_DROPFILES')
    GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit", $GUI)
    GUISetOnEvent($GUI_EVENT_DROPPED, "_Dropped", $GUIChild)
    GUICtrlSetOnEvent($hMain[3], '_Browse')
    GUICtrlSetOnEvent($hMain[4], '_Exit')
    _WinAPI_SetLayeredWindowAttributes($GUIChild, 0x605f5f)
    GUISetState(@SW_SHOW, $GUI)
    GUISetState(@SW_SHOW, $GUIChild)
    EndFunc
    
    Func _Browse()
        MsgBox(0, "Test", "Browse")
    EndFunc
    
    Func _Dropped()
        _ArrayDisplay($aDropFiles)
    EndFunc
    
    Func _Exit()
        MsgBox(0, "Test", "Exit")
        Exit
    EndFunc
    
    Func WM_DROPFILES($hWnd, $iMsg, $wParam, $lParam)
        #forceref $hWnd, $iMsg, $lParam
        Local $iSize, $pFileName
        Local $aRet = DllCall("shell32.dll", "int", "DragQueryFileW", "hwnd", $wParam, "int", 0xFFFFFFFF, "ptr", 0, "int", 0)
        Global $aDropFiles[$aRet[0] + 1] = [$aRet[0]]
        For $i = 0 To $aRet[0] - 1
            $aRet = DllCall("shell32.dll", "int", "DragQueryFileW", "hwnd", $wParam, "int", $i, "ptr", 0, "int", 0)
            $iSize = $aRet[0] + 1
            $pFileName = DllStructCreate("wchar[" & $iSize & "]")
            DllCall("shell32.dll", "int", "DragQueryFileW", "hwnd", $wParam, "int", $i, "ptr", DllStructGetPtr($pFileName), "int", $iSize)
            $aDropFiles[$i + 1] = DllStructGetData($pFileName, 1)
            $pFileName = 0
        Next
        Return $GUI_RUNDEFMSG
    EndFunc
    Alles anzeigen
  • _WinAPI_SetLayeredWindowAttributes, transparente Sektionen sind bei Windows 10 inaktiv, nicht bei Windows 7.

    • alpines
    • 9. September 2018 um 17:18
    Zitat von xTcisloVe

    Wo habe ich denn da einen Button erstellt? Ich erstelle ja nur das Label mit dem Rand als "Button", denn wenn man einen Button Hintergrund durchsichtig macht, bleibt der blaue Rand...

    Ja, dann halt Labels. Du kannst auch Button so umrahmen, dass der graue Rand komplett verschwindet.

    Ich meinte das Label um das Browse Label, probiers doch mal, es klappt.

  • _WinAPI_SetLayeredWindowAttributes, transparente Sektionen sind bei Windows 10 inaktiv, nicht bei Windows 7.

    • alpines
    • 9. September 2018 um 17:06

    Du hast vergessen das Label (mit dem Rand) um den Button (Browser) herum zu deaktivieren. Der Exit-Button funktioniert standardmäßig weil er eben nicht drunter versteckt ist.

  • _WinAPI_SetLayeredWindowAttributes, transparente Sektionen sind bei Windows 10 inaktiv, nicht bei Windows 7.

    • alpines
    • 9. September 2018 um 16:39

    Warum eine Child-GUI? Zeichne doch die Elemente direkt rein?

  • Ewiges Kopfschmerzthema "Pattern"

    • alpines
    • 9. September 2018 um 12:18

    https://regex101.com/r/hPFvBM/1/ Du siehst den Wald vor lauter Bäumen nicht.

    AutoIt
    #include <Array.au3>
    
    $sTest = "...(""???| Foobar: ???"")..." & @CRLF & "...(""abc| Foobar: 123"")......(""as?| Foobar: ???"")...(""??d| Foobar: ?22?"")..."
    $aRegex = StringRegExp($sTest, "\(""(.+?)\| Foobar: (.+?)""\)", 3)
    
    _ArrayDisplay($aRegex)
  • Vertikale Scrollbar bei ListView

    • alpines
    • 7. September 2018 um 09:14
    Zitat von Oscar

    Was bezweckst Du denn mit dem Style "$LVS_SMALLICON", wenn Du gar keine Icons verwendest?

    Farbe eines Elements in einer Listbox ändern

  • Internet Explorer - InetGet

    • alpines
    • 6. September 2018 um 15:17

    Naja, mit dem Link können wir nichts anfangen, denn er funktioniert mittels Cookies + Sessioninformationen.

    InetGet wird da auf keinen Fall funktionieren.

    Du könntest mit den Controlfunktionen versuchen auf Speichern zu klicken oder du wechselst auf WinHttp und loggst dich darüber ein.

  • String teilen - unbekannte Länge

    • alpines
    • 6. September 2018 um 09:58

    Wüsste nicht wo das Problem liegt, Regex liefert die Lösung praktisch auf dem Silbertablett.

    Zahlen rausparsen, Array der passenden Größe erstellen, Zahlen ins Array eintragen, hinten das überschüssige Leerzeichen entfernen und anzeigen - fertig.

    AutoIt
    Local $sTest = "1111111-010; 2222222-020; 3333333-030; 1111111-010; 2222222-020; 3333333-030; 1111111-010; 2222222-020; 3333333-030; 1111111-010; 2222222-020; 3333333-030; 1111111-010; 2222222-020; 3333333-030;"
    
    $aRegex = StringRegExp($sTest, "(\d+-\d+;)", 3)
    
    Local $aArray[Ceiling(UBound($aRegex) / 15)]
    
    For $i = 0 To UBound($aRegex) - 1
        $aArray[Floor($i / 15)] &= $aRegex[$i] & " "
    Next
    
    For $i = 0 To UBound($aArray) - 1
        If StringRight($aArray[$i], 1) = " " Then $aArray[$i] = StringTrimRight($aArray[$i], 1)
    Next
    
    For $i = 0 To UBound($aArray) - 1
        ConsoleWrite("Array[" & $i & "] = " & $aArray[$i] & @CRLF)
    Next
    Alles anzeigen
  • On Event Frage

    • alpines
    • 5. September 2018 um 11:42

    Hier mal ein kleines Beispiel dazu: Die zwei Beispiele einfach aus- und einkommentieren.

    AutoIt
    Opt("GUIOnEventMode", 1)
    
    Func ExitApp()
        Exit 0
    EndFunc
    
    ; ==> Beispiel Eins
    
    $hGUI = GUICreate("TestGUI", 200, 220)
    GUISetOnEvent(-3, ExitApp)
    
    $hButton1 = GUICtrlCreateButton("Button Eins", 8, 8, 200 - 16, 100 - 16)
    GUICtrlSetOnEvent($hButton1, "Button_OnClick")
    
    $hButton2 = GUICtrlCreateButton("Button Zwei", 8, 100, 200 - 16, 100 - 16)
    GUICtrlSetOnEvent($hButton2, "Button_OnClick")
    
    $hLabel = GUICtrlCreateLabel("", 8, 200, 200 - 16, 17)
    
    GUISetState(@SW_SHOW, $hGUI)
    
    While Sleep(1000)
    WEnd
    
    Func Button_OnClick()
        Switch @GUI_CtrlId
            Case $hButton1
                GUICtrlSetData($hLabel, "Du hast Button Eins gedrückt!")
    
            Case $hButton2
                GUICtrlSetData($hLabel, "Du hast Button Zwei gedrückt!")
        EndSwitch
    EndFunc
    
    ; ==> Beispiel Zwei
    
    ;~ $hGUI = GUICreate("TestGUI", 200, 220)
    
    ;~ $hButton1 = GUICtrlCreateButton("Button Eins", 8, 8, 200 - 16, 100 - 16)
    ;~ GUICtrlSetOnEvent($hButton1, "ButtonEins_OnClick")
    
    ;~ $hButton2 = GUICtrlCreateButton("Button Zwei", 8, 100, 200 - 16, 100 - 16)
    ;~ GUICtrlSetOnEvent($hButton2, "ButtonZwei_OnClick")
    
    ;~ $hLabel = GUICtrlCreateLabel("", 8, 200, 200 - 16, 17)
    
    ;~ GUISetState(@SW_SHOW, $hGUI)
    
    ;~ While Sleep(1000)
    ;~ WEnd
    
    ;~ Func ButtonEins_OnClick()
    ;~     GUICtrlSetData($hLabel, "Du hast Button Eins gedrückt!")
    ;~ EndFunc
    
    ;~ Func ButtonZwei_OnClick()
    ;~     GUICtrlSetData($hLabel, "Du hast Button Zwei gedrückt!")
    ;~ EndFunc
    Alles anzeigen
  • On Event Frage

    • alpines
    • 5. September 2018 um 11:34
    Zitat von co_steffl

    Kann mir das bitte jemand evtl mit Beispiel näher erläutern?

    Du setzt mehrere Buttons auf die gleiche Eventfunktion und switcht anschließend das Makro @GUI_CtrlId. Das ist nur im OnEvent-Modus verfügbar.

    Es gibt dir die gedrückte Control-ID zurück und in dem entsprechenden Case kannst du auch eine Funktion mit Parametern callen,

    da die Funktion die dem eigentlichen Button zugeordnet wurde das OnClick ist aber diese intern weitere Calls macht.

    Letzlich ist es nichts anderes als mehrere Button-Eventfunktionen zu erstellen und in jede einen Einzeiler zu einer Funktion zu schreiben welche deine Parameterfunktion called.


    Das ist auch schon alles.

  • Dynamische ControllID Variablen Problem

    • alpines
    • 4. September 2018 um 12:18

    Du überschreibst auch den Inhalt der Variable mit der autoitinternen Control-ID des GraphicControls.

  • Dynamische ControllID Variablen Problem

    • alpines
    • 4. September 2018 um 09:56

    Speicher die Controls doch einfach in einem 2D-Array. [n][0] Name des Prozesses [n][1] Label-ID des Prozesses [n][2] Grafik-ID des Prozesses.

  • Downloadbox veraltet

    • alpines
    • 2. September 2018 um 11:46
    Zitat von Xorianator

    Fehler trat bis jetzt unter allen Win 10 Systemen auf, die ich hatte. Immer Chrome.

    Probiers mal mit dem IE. Ansonsten kannst du ja AutoUpdate versuchen (obwohl das auch technisch gesehen IE ist.

    Zur Not nimmste halt die Zip-Version von dem neuesten Release.

  • ISN AutoIt Studio

    • alpines
    • 28. August 2018 um 20:54
    Zitat von ThePhantomDesigns

    Noch eine Idee, falls sie noch nicht eingebaut und ich sie einfach nicht gefunden habe: Eine Funktion, die alle Zeilen, die markiert sind um einen Tab nach rechts verschiebt, weil sonst muss man das immer per Hand machen. Danke

    Klappt das nicht wenn du die Zeilen im Editor markierst und dann TAB drückst?

  • Downloadbox veraltet

    • alpines
    • 28. August 2018 um 10:19

    Ich hatte admin dazu bereits eine PN (17.07) geschrieben aber bisher hatte sich noch nichts getan.

    Eventuell können wir ja die Downloadbox vom Server auf WBB verlagern, so dass die Admins hier keine Zugriffe auf die html brauchen die auf dem Server liegt,

    dann können wir sie manuell anpassen und auch die richtige Version.

    Die version.dat zeigt nämlich 3.3.14.4 auf dem EN-Server an obwohl da 3.3.14.5 stehen müsste.

  • TreeView Farbe von Item und Pfad nachträglich ändern.

    • alpines
    • 27. August 2018 um 21:09

    Speicher dir doch die Struktur des TreeViews beim Erstellen dann ab, du musst lediglich die Create Funktion modifizieren.

    Dann speicherst du die ganzen Unterordner und Zweige in einem Array, Dictionary oder was auch immer und wenn du am Ende die Duplikate durchgehst kannst du währenddessen dein Array, Dictionary, o. ä. iterieren und gleichzeitig färben.

    Du weißt ja was du färben möchtest, nur hast du keine Ahnung wie du an die Objekte kommen sollst.

  • TreeView Farbe von Item und Pfad nachträglich ändern.

    • alpines
    • 27. August 2018 um 20:36

    Du musst während du das TreeView aufbaust und die Duplikate raussuchst auch den aktuellen Standpunkt merken um das richtige Item zu färben.

    Mit StringInStr klappt das so einfach nicht.

    Färb sie nicht erst im Nachhinein sondern such die Duplikate raus und während du das Treeview erzeugst färbst du sie gleichzeitig mit indem du prüfst ob der aktuelle Zweig dem Dateipfad entspricht.

    Es ist wesentlich einfacher während der Konstruktion alles zu markieren als im Nachhinein.

  • TreeView Farbe von Item und Pfad nachträglich ändern.

    • alpines
    • 27. August 2018 um 20:21

    Und was genau kriegst du an der Färbung nicht hin? GUICtrlSetColor funktioniert ja ohne Probleme. Weißt du nicht wie du erkennen sollst ob sie schon doppelt vorkommen oder wo liegt das Problem?

  • TreeView Farbe von Item und Pfad nachträglich ändern.

    • alpines
    • 27. August 2018 um 19:37

    Und wie schaut deine Treeview aus und welche Teile davon sollen gefäbrt werden?

    Hast du im Treeview für jeden Unterordner einen anderen Zweig?

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™