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

Beiträge von autoBert

  • GUICtrlRead () controlID aus *.ini lesen

    • autoBert
    • 4. Januar 2010 um 11:35

    Halo Magicmercury,

    schau dir die Hilfe zu eval an, das sollte helfen,

    mfg (Auto)Bert

  • Verschieben von GUI Objekten

    • autoBert
    • 26. Dezember 2009 um 22:33

    Hallo DarkPurple,

    schön dass der Schuss ins Blaue ein Treffer war.

    Raupi , das Ursprungs-Skript stammt aus der Feder von @ChaosKeks (bei der Func _DragMe vermerkt). Einziger Nachteil: man kann Controls hinter andere schieben (z.B. ein Label hinter ein Bild), vielleicht kannst du das ja berücksichtigen?

    mfg (Auto)Bert

  • Verschieben von GUI Objekten

    • autoBert
    • 26. Dezember 2009 um 21:55

    Hallo DarkPurple,

    suchst du vielleicht so etwas?

    Spoiler anzeigen
    [autoit]

    ; *** Start added by AutoIt3Wrapper ***
    #include <StaticConstants.au3>
    ; *** End added by AutoIt3Wrapper ***
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Add_Constants=n
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <ListviewConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <SliderConstants.au3>
    #Include <GuiListView.au3>
    #Include <Array.au3>
    #Include <File.au3>
    #Include <Misc.au3>

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

    Opt("GUIOnEventMode", 1)
    ;Global $posXStart, $posYStart, $posXStop, $posYStop, $pic, $hGui, $Pos_M2 = MouseGetPos()

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

    $hGUI = GUICreate("Transparent", 575, 510)
    GUISetOnEvent($GUI_EVENT_CLOSE, "_Ex")
    $insert = GuiCtrlCreateButton("Insert Pic" ,10,10)
    GuiCtrlSetOnEvent(-1, "_insert")
    $Pic=GUICtrlCreatePic("", 50, 50)
    GuiCtrlSetOnEvent(-1, "_DragMe")
    $hsplitter1 = GUICtrlCreateLabel("",270, 125, 8, 205,-1,$SS_BLACKFRAME)
    ;GUICtrlSetColor(-1,0xffffff)
    ;GUICtrlSetResizing(-1, $GUI_DOCKLEFT +$GUI_DOCKSIZE + $GUI_DOCKTOP)
    GUICtrlSetOnEvent($hsplitter1,"_DragMe")
    $hlabel = GUICtrlCreateLabel("Verschieb mich",20,120,100,25)
    GUICtrlSetOnEvent($hlabel,"_DragMe")

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

    GUISetState(@SW_SHOW)

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

    While 1
    sleep(100)
    WEnd

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

    Func _insert()
    GuiCtrlDelete($pic)
    $bild = FileOpenDialog("Wählen Sie eine Datei aus!", @WindowsDir & "\", "Bilder (*.jpg;*.bmp)", 1 + 4 )
    $Pic = GUICtrlCreatePic($bild, 150, 150)
    GuiCtrlSetOnEvent(-1, "_DragMe")
    EndFunc

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

    Func _DragMe() ;Orginal zum verschieben von 1 Bild von ChaosKeks
    Local $Pos_C, $Pos_M, $Pos_M2, $Opt_old
    Local $dll = DllOpen("user32.dll")
    $Opt_old = Opt('MouseCoordMode', 0)
    $Pos_C = ControlGetPos($hGui, "", @GUI_CtrlId);$pic)
    $Pos_M = MouseGetPos()
    $Pos_W = WinGetPos($hGui)
    $x_Offset = $Pos_M[0] - $Pos_C[0]
    $y_Offset = $Pos_M[1] - $Pos_C[1]
    _MouseTrap($Pos_W[0]+$x_Offset,$Pos_W[1]+$y_Offset,$Pos_W[0]+$Pos_W[2],$Pos_W[1]+$Pos_W[3])
    While _IsPressed('01', $dll)
    $Pos_M = MouseGetPos()
    If $Pos_M <> $Pos_M2 Then
    GUICtrlSetPos(@GUI_CtrlId,$Pos_M[0] - $x_Offset, $Pos_M[1] - $y_Offset)
    sleep(10)
    EndIf
    $Pos_M = $Pos_M2
    sleep(50)
    WEnd
    DllClose($dll)
    Opt('MouseCoordMode', $Opt_old)
    _MouseTrap()
    EndFunc

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

    Func _Ex()
    Exit
    EndFUnc

    [/autoit]


    mfg (Auto)Bert

    ps.: deine Fragestellung ist sehr unklar, hoffe dass meine Kristallkugel den richtigen >Treffer hatte

  • Icon austauschen

    • autoBert
    • 21. Dezember 2009 um 17:26

    Hallo dusg,

    funkey hatte die Antwort GUISetIcon schon gegeben, allerdings auch eine Alternative dazu. Hier das Beispiel aus der Hilfe Ver. 3.3.2.0 zu GUISetIcon:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>

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

    Opt('MustDeclareVars', 1)

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

    Example()

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

    Func Example()
    Local $sFile = "MEINICON.ico"; den Filenamen austauschen
    Local $msg

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

    GUICreate("My GUI new icon") ; will create a dialog box that when displayed is centered

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

    GUISetIcon($sFile) ; will change icon

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

    GUISetState(); will display an empty dialog box

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

    ; Run the GUI until the dialog is closed
    While 1
    $msg = GUIGetMsg()

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

    If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    WEnd
    EndFunc ;==>Example

    [/autoit]

    mfg (Auto)Bert

  • ClipPut

    • autoBert
    • 21. Dezember 2009 um 12:58

    Hallo daku82,

    hier ein abgeändertes Beispiel aus der Hilfe:

    Spoiler anzeigen
    [autoit]

    #include <GuiEdit.au3>
    #include <GuiStatusBar.au3>
    #include <GuiConstantsEx.au3>
    #include <WindowsConstants.au3>

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

    Opt('MustDeclareVars', 1)

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

    $Debug_Ed = False ; Check ClassName being passed to Edit functions, set to True and use a handle to another control to see it work

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

    _Main()

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

    Func _Main()
    Local $StatusBar, $hEdit, $hGUI, $Text
    Local $sFile = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\AutoIt v3\AutoIt", "InstallDir") & "\include\changelog.txt"
    Local $aPartRightSide[3] = [190, 378, -1], $aSel

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

    ; Create GUI
    $hGUI = GUICreate("Edit Get Sel", 400, 300)
    $hEdit = GUICtrlCreateEdit("", 2, 2, 394, 268, BitOR($ES_WANTRETURN, $WS_VSCROLL))
    $StatusBar = _GUICtrlStatusBar_Create($hGUI, $aPartRightSide)
    _GUICtrlStatusBar_SetIcon($StatusBar, 2, 97, "shell32.dll")
    GUISetState()

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

    ; Set Margins
    _GUICtrlEdit_SetMargins($hEdit, BitOR($EC_LEFTMARGIN, $EC_RIGHTMARGIN), 10, 10)

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

    ; Set Text
    _GUICtrlEdit_SetText($hEdit, FileRead($sFile))

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

    ; Set Sel
    _GUICtrlEdit_SetSel($hEdit, 15, 20)

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

    ; Get Sel
    $aSel = _GUICtrlEdit_GetSel($hEdit) ;<================
    _GUICtrlStatusBar_SetText($StatusBar, "Start: " & $aSel[0])
    _GUICtrlStatusBar_SetText($StatusBar, "End: " & $aSel[1], 1)
    $Text = StringMid(GUICtrlRead($hEdit),$aSel[0]+1,$aSel[1]-$aSel[0]) ;<================
    ClipPut($Text) ;<================

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

    ; Loop until user exits
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()
    EndFunc ;==>_Main

    [/autoit]


    schu dir dazu die Hilfe zu _GUICtrlEdit_GetSel an,

    mfg (Auto)Bert

  • Download frage

    • autoBert
    • 21. Dezember 2009 um 09:56

    Hallo,

    Zitat von dpjeezy89

    und z.b mehrer verbindungen aufnehmen für mehr geschwindigkeit?

    in der Ver. 3.3.2.0 kannst du mehrere Downloads gleichzeitig vornehmen:

    Zitat

    Multiple downloads are supported if they are started in background mode.

    mfg (Auto)Bert

  • ListView Doppelklick

    • autoBert
    • 20. Dezember 2009 um 18:44

    Hallo Scripter192,
    schau dir einmal WM_Notify per Funktion von Raupi an,

    mfg (auto)Bert

  • Hilfe zu Treeview

    • autoBert
    • 19. Dezember 2009 um 16:07

    Hallo N3r0,

    schau dir einmal die Func _GUICtrlTreeView_CreateDirectory und deren möglichen Einsatz an (beides von Oscar :(

    Spoiler anzeigen
    [autoit]

    #include <WindowsConstants.au3>
    #include <GuiTreeView.au3>
    #include <GUIConstantsEx.au3>
    $hGui = GUICreate('SelectFolder', 800, 600)
    $hTreeView = GUICtrlCreateTreeView(10, 10, 380, 580, Default, $WS_EX_STATICEDGE)
    GUISetState()
    ToolTip('Please wait...')
    _GUICtrlTreeView_CreateDirectory($hTreeView, @UserProfileDir)
    ToolTip('')
    Do
    Until GUIGetMsg() = -3

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

    ;===============================================================================
    ; Function Name: _GUICtrlTreeView_CreateDirectory($hTreeView, $sPath, $bFiles)
    ; Description:: erstellt ein TreeView mit Verzeichnissen (+Dateien)
    ; Parameter(s): $hTreeView = ControlID/Handle des TreeViews
    ; $sPath = Verzeichnispfad, der dargestellt werden soll
    ; $bFiles = True = auch Dateien anzeigen, False = nur Verzeichnisse
    ; Requirement(s): #include<GuiTreeView.au3>
    ; Return Value(s): Array mit Anzahl der Verzeichnisse=[0] und Dateien=[1]
    ; 0 und @error = 1, wenn der Pfad nicht existiert bzw. kein Verzeichnis ist
    ; 0 und @error = 2, wenn das FileSystemObject nicht erstellt werden konnte
    ; Author(s): Oscar (http://www.autoit.de)
    ;===============================================================================
    Func _GUICtrlTreeView_CreateDirectory($hTreeView, $sPath, $bFiles = False)
    Local $hFileItem, $FolderColor = 0x0000FF, $Folder, $aCount[2] = [0, 0]
    If Not StringInStr(FileGetAttrib($sPath), 'D') Then Return SetError(1, 0, 0)
    $sPath = FileGetLongName($sPath)
    Local $oFSO = ObjCreate('Scripting.FileSystemObject')
    If @error Then Return SetError(2, 0, 0)
    _GUICtrlTreeView_BeginUpdate($hTreeView)
    _GUICtrlTreeView_DeleteAll(GUICtrlGetHandle($hTreeView))
    Local $hTreeViewItem = GUICtrlCreateTreeViewItem($sPath, $hTreeView)
    GUICtrlSetColor(-1, $FolderColor)
    _GUICtrlTreeView_SetIcon($hTreeView, $hTreeViewItem, 'shell32.dll', 0)
    $Folder = $oFSO.GetFolder($sPath)
    _CreateDirectoryRecursive($hTreeView, $Folder, $hTreeViewItem, $bFiles, $aCount)
    If $bFiles Then
    For $Files In $Folder.Files
    $hFileItem = GUICtrlCreateTreeViewItem($Files.Name, $hTreeViewItem)
    $aCount[1] += 1
    Next
    EndIf
    _GUICtrlTreeView_SetIcon($hTreeView, $hTreeViewItem, 'shell32.dll', 3, 2)
    _GUICtrlTreeView_SetIcon($hTreeView, $hTreeViewItem, 'shell32.dll', 110, 4)
    _GUICtrlTreeView_EndUpdate($hTreeView)
    GUICtrlSetState($hTreeViewItem, $GUI_EXPAND)
    $oFSO = ''
    Return $aCount
    EndFunc ;==>_GUICtrlTreeView_CreateDirectory

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

    Func _CreateDirectoryRecursive($hTreeView, $Folder, $ItemOld, $bFiles, ByRef $aCount)
    Local $hFolderItem, $hFileItem, $FolderColor = 0x0000FF
    For $Subfolder In $Folder.SubFolders
    $hFolderItem = GUICtrlCreateTreeViewItem($Subfolder.Name, $ItemOld)
    GUICtrlSetColor(-1, $FolderColor)
    _GUICtrlTreeView_SetIcon($hTreeView, $hFolderItem, 'shell32.dll', 3, 2)
    _GUICtrlTreeView_SetIcon($hTreeView, $hFolderItem, 'shell32.dll', 110, 4)
    $aCount[0] += 1
    _CreateDirectoryRecursive($hTreeView, $Subfolder, $hFolderItem, $bFiles, $aCount)
    If $bFiles Then
    For $Files In $Subfolder.Files
    $hFileItem = GUICtrlCreateTreeViewItem($Files.Name, $hFolderItem)
    $aCount[1] += 1
    Next
    EndIf
    Next
    EndFunc ;==>_CreateDirectoryRecursive

    [/autoit]

    ,

    mfg (Auto)Bert

  • "@DesktopWidth" bei weiteren Bildschirmen?

    • autoBert
    • 17. Dezember 2009 um 19:52

    Hallo Fawyer,

    schau mal in diesen Thread von Oscar ,

    mfg (Auto)Bert

  • GUI speicher Problem

    • autoBert
    • 17. Dezember 2009 um 12:52

    Hallo Grave,

    die Variable $MinGeldInput enhält die ID des Inputcontrols. Du musst mit GuiCtrlRead des Inhalt des Imutcontrols auslesen und diesen speichern:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ButtonConstants.au3>
    Opt("GUICoordMode", 1)
    HotKeySet("{esc}","Ende")
    HotKeySet("{F6}","Anmachen")
    HotKeySet("{F7}","Ausmachen")

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

    if(FileExists(@ScriptDir & "\Settings.ini") = 0)Then
    $File = FileOpen(@ScriptDir & "\Settings.ini",1)
    IniWrite(@ScriptDir & "\Settings.ini","Settings","EuroInput","100")
    EndIf

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

    $GeldInput = IniRead ( @ScriptDir & "\Settings.ini", "Settings", "EuroInput", "" )

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

    $HauptFenster = GUICreate("test", 200, 200)
    GUICtrlCreatePic(@ScriptDir & "\bild.jpg", 0, 0, 200, 200)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUISetState(@SW_SHOW,$HauptFenster)
    GUICtrlCreateLabel("Wie viel Geld steht zur verfügung ?",10,60)
    GUICtrlSetBkColor(-1,"0x007FFF")
    $MinGeldInput = GUICtrlCreateInput($GeldInput,10,90,50)
    GUICtrlSetBkColor(-1,"0xFF5721")

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

    $EndeButton = GUICtrlCreateButton("Beenden",10,150,70,20)
    $StartButton = GUICtrlCreateButton("Starten",100,150,70,20)

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

    Start()

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

    Func Start()
    While 1
    $msg = GUIGetMsg()
    Select

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

    Case $msg = $GUI_EVENT_CLOSE
    Exit
    Case $msg = $EndeButton
    IniWrite(@ScriptDir & "\Settings.ini","Settings","EuroInput",GUICtrlRead($MinGeldInput))
    Exit
    Case $msg = $StartButton
    GUISetState(@SW_HIDE,$HauptFenster)
    IniWrite(@ScriptDir & "\Settings.ini","Settings","EuroInput",GUICtrlRead($MinGeldInput))
    ExitLoop
    EndSelect
    WEnd
    EndFunc

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

    While 1

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

    sleep(100)
    $a = 1

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

    WEnd

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

    Func Anmachen()

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

    While $a = 1

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

    if (GebotEuro() = 1) then
    aufschreiben()
    EndIf
    sleep(10000)

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

    WEnd

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

    EndFunc

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

    Func GebotEuro() ; überprüft wie hoch das Gebot ist
    ControlClick ( "test", "", "test", "left",2 ,695,119 )
    ControlSend ( "test", "", "test","^c" )
    $Check = ClipGet()
    $Check = Number (StringReplace ($Check, " ", ""))

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

    IniWrite(@ScriptDir & "\Settings.ini","Settings","$EuroGebot",$Check)

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

    if $Check > 100 Then
    Return 1
    ElseIf $Check < 100 Then
    Return 0
    EndIf
    EndFunc

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

    Func aufschreiben()

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

    $EuroInput = IniRead ( @ScriptDir & "\Settings.ini", "Settings", "EuroInput", "" )
    $EuroGebot = IniRead ( @ScriptDir & "\Settings.ini", "Settings", "$EuroGebot", "" )

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

    if $EuroGebot < $EuroInput Then ;speichert das gebot wenn es bezahlbar ist

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

    IniWrite(@ScriptDir & "\Settings.ini","Settings","Tag",@MDAY & ":" & @MON & ":" & @YEAR)
    IniWrite(@ScriptDir & "\Settings.ini","Settings","Uhrzeit",@Hour & ":" & @Min & ":" & @SEC)

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

    EndIf
    EndFunc

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

    Func Ausmachen()
    $a= 0
    EndFunc

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

    Func Ende()
    Exit
    EndFunc

    [/autoit]


    mfg (Auto)Bert

  • Nachträglich einem Tab ein Element hinzufügen

    • autoBert
    • 16. Dezember 2009 um 21:49

    Hallo gixx,

    einfach in Zeile 9:

    Spoiler anzeigen

    Global $hGui, $hTab, $hbtnInsTab, $hbtnNewTabItem, $hbtnOK, $hTabGui[10], $hnewTree[10], $nextTabID = 0, $aktTabID = -1

    die Arrays für $hTabGui und $hNewTree auf die gewünschte Anzahl erhöhen,

    mfg (Auto)Bert

  • Neuen Tab mit Inhalt erstellen

    • autoBert
    • 16. Dezember 2009 um 21:07

    Hallo qixx,

    dass die Listbox in allen Tabs angezeigt wird liegt daran dass du sie auf der Main_Gui erstellst. du müsstest hier stattdessen die ControlID des erzeugten Tabs angeben:

    [autoit]

    _GUICtrlListBox_Create($NEWTABID,"",139 ,250,241,266,BitOR($WS_HSCROLL, $WS_VSCROLL, $WS_BORDER))

    [/autoit]

    dafür ist es notwendig dass du die Controllid des Tabs beim erstellen in einer Variablen speicherst. Dieser Link könnte auch hilfreich sein,

    mfg (Auto)Bert

  • Rechnen mit AutoIt

    • autoBert
    • 15. Dezember 2009 um 16:42

    Hallo jackomo92,

    schau dir einmal die Hilfe zu execute an, Einsatz:

    [autoit]

    $Erg = execute(GUICtrlRead($inputTR1))

    [/autoit]


    mfg (Auto)Bert

  • ListView mit Checkboxen

    • autoBert
    • 13. Dezember 2009 um 14:53

    Hallo petter2,

    schau dir einmal diesen Link an,

    mfg (Auto)bert

  • Datei verschwindet nach Kopieren

    • autoBert
    • 9. Dezember 2009 um 13:02

    Hallo cphowdy,

    zu 2: starte den Kopiervorgang erst dann wenn Outlook wirklich beendet ist. Benutze dazu WinExists in einer Schleife, die du erst nach dem Outlook geschlossen ist beendest. Damit verhinderst du dass die Datei von Outlook blockiert ist,

    mfg (Auto)Bert

  • Nachträglich einem Tab ein Element hinzufügen

    • autoBert
    • 8. Dezember 2009 um 17:23

    Hallo Jam00,

    schau dir einmal dieses Skript an:

    Spoiler anzeigen
    [autoit]

    #include <WindowsConstants.au3>
    #include <GUIConstants.au3>
    #include <guitab.au3>
    #include <guitreeview.au3>

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

    Opt('GUIOnEventMode', 1)
    Opt('MustDeclareVars', 1)

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

    Global $hGui, $hTab, $hbtnInsTab, $hbtnNewTabItem, $hbtnOK, $hTabGui[10], $hnewTree[10], $nextTabID = 0, $aktTabID = -1

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

    $hGui = GUICreate("Multiple TABs mit Icons", 520, 250, -1, -1, BitOR($WS_MINIMIZEBOX, $WS_MAXIMIZEBOX, $WS_SIZEBOX));BitOr($GUI_SS_DEFAULT_GUI,$WS_CLIPSIBLINGS))
    GUISetOnEvent($GUI_EVENT_CLOSE, '_End')
    $hTab = GUICtrlCreateTab(5, 5, 510, 25)
    GUICtrlSetResizing(-1, $GUI_DOCKLEFT + $GUI_DOCKTOP + $GUI_DOCKHEIGHT)
    GUICtrlSetOnEvent(-1, '_SwitchTab')
    $hbtnInsTab = GUICtrlCreateButton("Neuer Tab", 40, 200, 70, 20)
    GUICtrlSetResizing(-1, $GUI_DOCKLEFT + $GUI_DOCKBOTTOM + $GUI_DOCKSIZE)
    GUICtrlSetOnEvent(-1, 'InsertTab')
    $hbtnNewTabItem = GUICtrlCreateButton("&Neues TabItem", 150, 200, 70, 20)
    GUICtrlSetResizing(-1, $GUI_DOCKLEFT + $GUI_DOCKBOTTOM + $GUI_DOCKSIZE)
    GUICtrlSetOnEvent(-1, 'NewItem')
    ;GUICtrlSetState(-1,$GUI_HIDE)
    $hbtnOK = GUICtrlCreateButton("Be&enden", 350, 200, 70, 20)
    GUICtrlSetResizing(-1, $GUI_DOCKLEFT + $GUI_DOCKBOTTOM + $GUI_DOCKSIZE)
    GUICtrlSetOnEvent(-1, '_End')
    GUISetState()
    GUIRegisterMsg($WM_SIZE, 'WM_SIZE')
    GUISetState()
    While 1
    Sleep(125)
    WEnd

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

    Func _End()
    Exit
    EndFunc ;==>_End

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

    Func _SwitchTab()
    Local $i = _GUICtrlTab_GetCurSel($hTab)
    If $aktTabID = -1 Then $aktTabID = 0
    ConsoleWrite($i & @CRLF)
    GUISetState(@SW_HIDE, $hTabGui[$aktTabID])
    GUISetState(@SW_SHOW, $hTabGui[$i])
    $aktTabID = $i
    EndFunc ;==>_SwitchTab

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

    Func InsertTab()
    ConsoleWrite($nextTabID & @CRLF)
    _GUICtrlTab_InsertItem($hTab, $nextTabID, "Tab " & $nextTabID) ;<===================
    GUICtrlSetImage(-1,"C:\Dokumente und Einstellungen\Bert\Eigene Dateien\Beetle7.ico")
    $hTabGui[$nextTabID] = GUICreate("", 500, 150, 10, 25, BitOR($WS_CHILD, $WS_TABSTOP), -1, $hGui)
    GUISetBkColor(0xff0000)
    Size_TabGui($nextTabID)
    GUISetState()
    GUISwitch($hTabGui[$nextTabID])
    GUICtrlSetImage($hTabGui[$nextTabID],"C:\Dokumente und Einstellungen\Bert\Eigene Dateien\Beetle7.ico")
    $hnewTree[$nextTabID] = GUICtrlCreateTreeView(5, 5, 490, 140)
    ;GUICtrlSetResizing(-1, $GUI_DOCKLeft + $GUI_DOCKBOTTOM + $GUI_DOCKRIGHT + $GUI_DOCKTOP)
    GUICtrlCreateTreeViewItem("Tree" & $nextTabID & " Item 1", $hnewTree[$nextTabID])
    GUICtrlCreateTreeViewItem("Tree" & $nextTabID & " Item 2", $hnewTree[$nextTabID])
    If $aktTabID > -1 Then GUISetState(@SW_HIDE, $hTabGui[$aktTabID])
    _GUICtrlTab_SetCurFocus($hTab, $nextTabID)
    GUISetState($GUI_SHOW, $hTabGui[$nextTabID])
    $aktTabID = $nextTabID
    $nextTabID = $nextTabID + 1
    ;GUICtrlSetState($hbtnInsTab,$GUI_SHOW)
    EndFunc ;==>InsertTab

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

    Func NewItem()
    GUICtrlCreateTreeViewItem("Tree" & $aktTabID & " Item " & random(3,20,1), $hnewTree[$aktTabID])
    EndFunc

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

    Func WM_SIZE($hWnd, $iMsg, $iWParam, $iLParam)
    Local $i
    For $i = 0 To $nextTabID - 1
    Size_TabGui($i)
    Next
    EndFunc ;==>WM_SIZE

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

    Func Size_TabGui($i)
    Local $aMGPos
    $aMGPos = WinGetClientSize($hGui)
    WinMove($hTabGui[$i], "", 5, 25, $aMGPos[0] - 10, $aMGPos[1] - 60)
    GUICtrlSetPos($hnewTree[$i],5, 5, $aMGPos[0]-20, $aMGPos[1] - 70)
    EndFunc ;==>Size_TabGui

    [/autoit]

    mfg (Auto)Bert

  • Label verschieben?

    • autoBert
    • 8. Dezember 2009 um 16:31

    Hallo xp_fan,
    hier ein Beispiel um Steuerelemente mit der Maus zu verschieben (Original von @ChaosKeks)

    Spoiler anzeigen
    [autoit]

    ; *** Start added by AutoIt3Wrapper ***
    #include <StaticConstants.au3>
    ; *** End added by AutoIt3Wrapper ***
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Add_Constants=n
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <ListviewConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <SliderConstants.au3>
    #Include <GuiListView.au3>
    #Include <Array.au3>
    #Include <File.au3>
    #Include <Misc.au3>

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

    Opt("GUIOnEventMode", 1)
    ;Global $posXStart, $posYStart, $posXStop, $posYStop, $pic, $hGui, $Pos_M2 = MouseGetPos()

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

    $hGUI = GUICreate("Transparent", 575, 510)
    GUISetOnEvent($GUI_EVENT_CLOSE, "_Ex")
    $insert = GuiCtrlCreateButton("Insert Pic" ,10,10)
    GuiCtrlSetOnEvent(-1, "_insert")
    $Pic=GUICtrlCreatePic("", 50, 50)
    GuiCtrlSetOnEvent(-1, "_DragMe")
    $hsplitter1 = GUICtrlCreateLabel("",270, 125, 8, 205,-1,$SS_BLACKFRAME)
    ;GUICtrlSetColor(-1,0xffffff)
    ;GUICtrlSetResizing(-1, $GUI_DOCKLEFT +$GUI_DOCKSIZE + $GUI_DOCKTOP)
    GUICtrlSetOnEvent($hsplitter1,"_DragMe")
    $hlabel = GUICtrlCreateLabel("Verschieb mich",20,120,100,25)
    GUICtrlSetOnEvent($hlabel,"_DragMe")

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

    GUISetState(@SW_SHOW)

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

    While 1
    sleep(100)
    WEnd

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

    Func _insert()
    GuiCtrlDelete($pic)
    $bild = FileOpenDialog("Wählen Sie eine Datei aus!", @WindowsDir & "\", "Bilder (*.jpg;*.bmp)", 1 + 4 )
    $Pic = GUICtrlCreatePic($bild, 150, 150)
    GuiCtrlSetOnEvent(-1, "_DragMe")
    EndFunc

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

    Func _DragMe() ;Orginal zum verschieben von 1 Bild von ChaosKeks
    Local $Pos_C, $Pos_M, $Pos_M2, $Opt_old
    Local $dll = DllOpen("user32.dll")
    $Opt_old = Opt('MouseCoordMode', 0)
    $Pos_C = ControlGetPos($hGui, "", @GUI_CtrlId);$pic)
    $Pos_M = MouseGetPos()
    $Pos_W = WinGetPos($hGui)
    $x_Offset = $Pos_M[0] - $Pos_C[0]
    $y_Offset = $Pos_M[1] - $Pos_C[1]
    _MouseTrap($Pos_W[0]+$x_Offset,$Pos_W[1]+$y_Offset,$Pos_W[0]+$Pos_W[2],$Pos_W[1]+$Pos_W[3])
    While _IsPressed('01', $dll)
    $Pos_M = MouseGetPos()
    If $Pos_M <> $Pos_M2 Then
    GUICtrlSetPos(@GUI_CtrlId,$Pos_M[0] - $x_Offset, $Pos_M[1] - $y_Offset)
    sleep(10)
    EndIf
    $Pos_M = $Pos_M2
    sleep(50)
    WEnd
    DllClose($dll)
    Opt('MouseCoordMode', $Opt_old)
    _MouseTrap()
    EndFunc

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

    Func _Ex()
    Exit
    EndFUnc

    [/autoit]

    mfg (Auto)Bert

  • StringInStr und doppelte Einträge finden..vllt. auch _sort func

    • autoBert
    • 8. Dezember 2009 um 16:07

    Hallo Morrison,

    da dein Textfilde schon sortiert war, leider eine Zeile vergessen. Hier noch einmal das jetzt komplette Skript:

    Spoiler anzeigen
    [autoit]

    #include <file.au3>
    #include<array.au3>
    Dim $aRecords, $aNew
    If Not _FileReadToArray("ToSort.txt",$aRecords) Then
    MsgBox(4096,"Error", " Error reading File to Array error:" & @error)
    Exit
    EndIf
    _ArraySort($aRecords)
    _ArrayDisplay($aRecords)
    $aNew = _ArrayUnique($aRecords)
    _ArrayDisplay($aNew)
    _FileWriteFromArray("Sorted.txt",$aNew,2)

    [/autoit]


    mfg (Auto)Bert

  • StringInStr und doppelte Einträge finden..vllt. auch _sort func

    • autoBert
    • 8. Dezember 2009 um 15:32

    Hallo Morrison,

    versuchs doch einfach über Arrayfunktionen:

    Spoiler anzeigen
    [autoit]

    #include <file.au3>
    #include<array.au3>
    Dim $aRecords, $aNew
    If Not _FileReadToArray("ToSort.txt",$aRecords) Then
    MsgBox(4096,"Error", " Error reading File to Array error:" & @error)
    Exit
    EndIf
    _ArrayDisplay($aRecords)
    $aNew = _ArrayUnique($aRecords)
    _ArrayDisplay($aNew)
    _FileWriteFromArray("Sorted.txt",$aNew,2)

    [/autoit]

    PS.: das Ursprungsfile habe ich in ToSort.txt umbenannt, im Ausgabefile musst du nur noch die ertsen beiden Zeilen löschen
    mfg (Auto)Bert

  • Progressbar abhängig vom Laden von Seiten

    • autoBert
    • 8. Dezember 2009 um 11:51

    Hallo m-obi,

    du kannst nach jedem Laden einer Seite mit ProgressSet( $Prozent, $Prozent & " Prozent") den Fortscgrittsbalken manuell weiterbewegen und wenn alle Seiten geladen sind mit ProgressSet(100 , "Fertig", "Komplett") auf 100% setzen. Das ergibt zwar eine etwas ruckelnde Ansicht, aber mann kann den Komplettierungs-Status erkennen,

    mfg (Auto)Bert

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™