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

  • GuiCtrlDelete

    • Ilse
    • 18. April 2012 um 10:32

    Guten Morgen Greenhorn,
    juhuu...klasse!

    erstmal ein ganz ganz dickes DANKE!
    Freu mich riesig...

    Bin richtig froh, daß ich heute weitermachen kann.

    Liebe Grüße
    ;) Ilse

  • GuiCtrlDelete

    • Ilse
    • 17. April 2012 um 18:32

    Hallo Greenhorn,

    schön daß du dich gemeldet hast.

    Würde mich riesig freuen, wenn das irgendwie funktioniert.

    Liebe Grüße
    ;) Ilse

  • GuiCtrlDelete

    • Ilse
    • 17. April 2012 um 16:51

    oh BadBunny,

    den Size Style brauch ich leider!

    Oh Gott...mit dem OnEventMode
    mache ich nie meine Scripte.
    Muß dann wohl alles umgebaut werden...

    Mir qualmt für heute ganz schön der Kopf
    Ehrlich gesagt, ich steh etwas auf dem Schl....

    :( Ilse

  • GuiCtrlDelete

    • Ilse
    • 17. April 2012 um 16:30

    Hallo BadBunny,

    hab die Pfade geändert.
    Das mit dem löschen klappt jetzt!
    ABER...
    das mit den Buttons krieg ich einfach nicht hin! Bin die ganze Zeit
    schon am probieren!

    Spoiler anzeigen
    [autoit]


    Func _Daten()
    $iniwahl = @ScriptDir & "\ini\" & GUICtrlRead($idcbo) & ".ini"
    ;$iniwahl = @ScriptDir & "\" & GUICtrlRead($idcbo) & ".ini"
    $var = IniReadSection($iniwahl, "Namen")

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

    ReDim $idButton[$var[0][0]]
    For $i = 0 To $var[0][0] -1
    $idButton[$i] = GUICtrlCreateButton($var[$i+1][1], 0, 0); hier ist die Position....
    ;$idButton[$i] = GUICtrlCreateButton($var[$i+1][1]); das ergibt einen Error
    Next

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

    EndFunc

    [/autoit]

    komme da einfach nicht weiter!

    Bitte hilf mir noch bei der While Schleife...
    Beim Klicken der Buttons

    Spoiler anzeigen
    [autoit]


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

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

    ;Case $idButton[0] To $idButton[UBound($idButton) - 1]; Hier gibt es einen Fehler
    ;MsgBox(4096, "", StringFormat("Es wurde eine Schaltfläche gedrückt.\nID: %d\nText: %s", $nMsg, GUICtrlRead($nMsg)))
    Case $idcbo
    _deleteControl()
    _Daten()

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

    EndSwitch
    WEnd

    [/autoit]

    ...wenn ich die Buttons anklicke erhalte ich einen Error!

    Liebe Grüße
    ;) Ilse

  • GuiCtrlDelete

    • Ilse
    • 17. April 2012 um 15:20

    Hallo BadBunny,

    hab ich versucht:

    Spoiler anzeigen
    [autoit]


    Func _deleteControl()
    For $i = 0 To $var[0][0]

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

    GUICtrlDelete($idButton[$i]); klappt nicht!

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

    Next
    EndFunc

    [/autoit]

    auch wenn ich bei der Funktion
    die Daten abrufe, dann sollten alle evtl. bestehenden Buttons gelöscht werden!

    z.B. so

    Spoiler anzeigen
    [autoit]


    Func _Daten()
    _deleteControl()
    $iniwahl = @ScriptDir & "\ini\" & GUICtrlRead($idcbo) & ".ini"
    $var = IniReadSection($iniwahl, "Namen")

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

    $aLink = IniReadSection($iniwahl, "Link")
    ReDim $idButton[$var[0][0]]
    For $i = 1 To $var[0][0]
    $idButton[$i - 1] = GUICtrlCreateButton($var[$i][1], 0, 0)

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

    Next

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

    EndFunc ;==>_Daten

    [/autoit]

    geht auch nicht!
    MsgBox(0,"",$var[$i][1]) ----> zeigt den Eintrag an!

    aber ich kann in der Funktion die Buttons nicht löschen

    Spoiler anzeigen
    [autoit]


    Func _deleteControl()
    For $i = 0 To $var[0][0]

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

    GUICtrlDelete($var[$i][1]); klappt nicht!
    ;MsgBox(0,"",$idButton[$i])
    Next
    EndFunc ;==>_deleteControl

    [/autoit]

    Vielleicht noch eine Idee?
    Und wieso muß ich die Form resizen, damit die Buttons angezeigt werden?

    ohje...

    ;) Liebe Grüße
    Ilse

  • GuiCtrlDelete

    • Ilse
    • 17. April 2012 um 10:56

    Hallo,

    ich habe mit Buttons ein Problem.
    Folgendes:
    Diese Buttons werden per ini erstellt.
    Also erstmal meine Inis (Anhang)
    sind im Ordner @ScriptDir & "\ini"
    sehen so aus

    Spoiler anzeigen


    Ini 1
    [Namen]
    1=Lissi
    2=Laury
    3=Olga
    3=Moni
    3=Klara

    ini 2
    [Namen]
    1=Sam
    2=Rex
    3=Felix

    Folgende Probleme bei dem Script

    Die Combo liest die Inis ein. OK Das klappt
    dann:
    1. Ich wähle eine Ini aus (Buttos werden falsch angezeigt!) Ich resize die Form dann sind die Buttons richtig!
    2. Ich wähle die 2. Ini aus (Nun müßten die anderen Buttons gelöscht werden! GuiCtrlDelete(das hat nicht geklappt)
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Das dritte Problem ist in der Schleife:
    aktiviere ich
    Case $idButton[0]
    dann klappt nichts mehr!

    Der Code

    Spoiler anzeigen
    [autoit]


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

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

    Global $idButton[1], $var

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

    $Form1 = GUICreate("Form1", 625, 443, 192, 124, _
    BitOR($WS_OVERLAPPEDWINDOW, $WS_CLIPCHILDREN, $WS_CLIPSIBLINGS))
    $idcbo = GUICtrlCreateCombo("", 12, 8, 145, 25)
    GUICtrlSetData(-1, "Auswahl", "Auswahl")

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

    $aInis = _FileListToArray(@ScriptDir & "\ini", "*.ini", 1)
    If IsArray($aInis) Then
    For $i = 0 To $aInis[0]
    GUICtrlSetData($idcbo, StringTrimRight($aInis[$i], 4))
    Next
    EndIf

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

    GUIRegisterMsg($WM_SIZE, "OnSize")
    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 $idButton[0] To $idButton[UBound($idButton) - 1]
    ;MsgBox(4096, "", StringFormat("Es wurde eine Schaltfläche gedrückt.\nID: %d\nText: %s", $nMsg, GUICtrlRead($nMsg)))
    Case $idcbo
    _Daten()

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

    EndSwitch
    WEnd

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

    Func OnSize($hwnd, $message, $wParam, $lParam)

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

    Local $rcClient
    Local $cx, $cy
    Local $nWidth, $nHeight
    Local $cnLoop = 0
    Local $cnButtons = UBound($idButton) ; Anzahl der Schaltflächen
    Local $nColumns = 2 ; Anzahl der Spalten
    Local $nRows = Ceiling($cnButtons / $nColumns) ; Anzahl der Reihen

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

    $cx = 10 ; Abstand links/rechts
    $cy = 200 ; Abstand oben

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

    $nWidth = Int(((BitAND($lParam, 0xffff) - $cx * 2) - (22 * ($nColumns - 1))) / ($nColumns))
    $nHeight = Int(((BitShift($lParam, 16) - $cy - 10) - (22 * ($nRows - 1))) / $nRows)

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

    For $i = 0 To $nRows - 1
    For $j = 0 To $nColumns - 1

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

    If ($cnLoop >= $cnButtons) Then ExitLoop
    WinMove(GUICtrlGetHandle($idButton[$cnLoop]), "", $cx, $cy, $nWidth, $nHeight)

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

    $cx += $nWidth + 22
    $cnLoop += 1
    Next
    $cx = 10
    $cy += $nHeight + 22
    Next

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

    Return 0

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

    EndFunc ;==>OnSize

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

    Func _Daten()

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

    $iniwahl = @ScriptDir & "\ini\" & GUICtrlRead($idcbo) & ".ini"
    $var = IniReadSection($iniwahl, "Namen")

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

    ReDim $idButton[$var[0][0]]
    For $i = 1 To $var[0][0]
    $idButton[$i - 1] = GUICtrlCreateButton($var[$i][1], 0, 0)

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

    Next

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

    EndFunc ;==>_Daten

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

    Func _deleteControl()
    For $i = 0 To $var[0][0]

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

    ;GUICtrlDelete($var[$i][1]); klappt nicht!

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

    Next
    EndFunc ;==>_deleteControl

    [/autoit]

    Ich komme vor lauter Fehlermeldungen nicht mehr weiter.
    Da ist der Wurm drin...

    Hoffe mal wieder auf Hilfe

    Liebe Grüße
    ;) Ilse

    Dateien

    R 30 Byte – 241 Downloads H 50 Byte – 256 Downloads
  • Buttons erstellen

    • Ilse
    • 13. April 2012 um 20:03

    @Micha,

    Beschreibung...du hast ja Recht,
    aber bei so einem Problem wird das gleich ein kleiner Roman.

    Warum die großen Buttons!
    Damit man sie besser sieht. Und die sollten mit
    der Tastatur gesteuert werden,
    SCHADE und das geht leider bei diesem GuiScroll nicht.
    Sonst wäre das die Lösung.

    Irrlicht
    Listview, d.h. die Buttons wären dann da drin?
    Scrollen würde evtl. auch gehen?
    Größe auch? Und gleichmäßig...

    huh...

    Probiere mal ob ich das noch irgendwie mit den Tasten
    hinbekomme...

    Grüße
    Ilse

  • Buttons erstellen

    • Ilse
    • 13. April 2012 um 18:48

    Hallo,

    sorry mußte kurz weg.

    Ich muß es leider nochmal kurz erklären.
    Also, es geht darum richtig große Buttons zu haben:
    z.B. 4 Spalten gleichmäßig verteilt. OK!
    Auch bei 8 ist das OK!
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Folgendes:
    Kommen nun mehrere Buttons hinzu,
    dann sollten diese genauso groß sein!
    Und man sollte scrollen können.

    Hat die Ini z.B. etliche Einträge, dann wird es immer kleiner!
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    und das sollte nicht passieren!
    ich meinte die großen Buttons zum Scrollen

    Liebe Grüße
    Ilse

    Dateien

    autoit.JPG 58,62 kB – 0 Downloads autoit1.JPG 125,61 kB – 0 Downloads
  • Buttons erstellen

    • Ilse
    • 13. April 2012 um 16:40

    Hallo,

    hm... leider doch noch ein Problem:
    Ich habe mal die Ini erweitert.
    30 Einträge...

    dann klappt es leider nicht mehr!
    Die unteren Buttons sind nicht erreichbar!

    :( Ilse

  • Buttons erstellen

    • Ilse
    • 13. April 2012 um 16:35

    @ alle

    zuerst mal merci für die Erlösung!
    Eine Frage noch:

    Wie kann man die Schriftgröße
    automatisch mitvergrößern?

    Auf jedenfall Super
    ;) Ilse

  • Buttons erstellen

    • Ilse
    • 13. April 2012 um 15:52

    So habe hier mal die ini eingeabaut!
    Bin aber leider immer noch weit vom Ziel entfernt!

    Spoiler anzeigen
    [autoit]


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

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

    $Form1 = GUICreate("Form1", 625, 443, 192, 124, BitOR($WS_MAXIMIZEBOX,$WS_VSCROLL,$WS_MINIMIZEBOX,$WS_SIZEBOX,$WS_THICKFRAME,$WS_SYSMENU,$WS_CAPTION,$WS_OVERLAPPEDWINDOW,$WS_TILEDWINDOW,$WS_POPUP,$WS_POPUPWINDOW,$WS_GROUP,$WS_TABSTOP,$WS_BORDER,$WS_CLIPSIBLINGS))
    GUISetState(@SW_SHOW)
    $var = IniReadSection(@ScriptDir & '\Namen.ini',"Name")
    If @error Then
    MsgBox(4096, "", "Es ist ein Fehler aufgetreten. Warscheinlich keine INI Datei vorhanden.")
    Else
    Dim $Button[20]
    For $z = 0 To $var[0][0]
    $var[$z][1] = GUICtrlCreateButton($var[$z][1], 10 + Mod($z, 2) * 300, 10 + Int($z / 2) * 85, 282, 80)
    Next
    EndIf
    GUISetState()
    Do
    Until GUIGetMsg() = -3

    [/autoit]
  • Buttons erstellen

    • Ilse
    • 13. April 2012 um 15:40

    Übrigens,

    ich habe mal ein Beispiel von Oscar
    etwas abgewandelt.
    Allerdings ohne Ini.
    ...und Scrollen geht leider auch nicht!

    Aber vielleicht hat jemand ne Idee!

    Spoiler anzeigen
    [autoit]


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

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

    $Form1 = GUICreate("Form1", 625, 443, 192, 124, BitOR($WS_MAXIMIZEBOX,$WS_VSCROLL,$WS_MINIMIZEBOX,$WS_SIZEBOX,$WS_THICKFRAME,$WS_SYSMENU,$WS_CAPTION,$WS_OVERLAPPEDWINDOW,$WS_TILEDWINDOW,$WS_POPUP,$WS_POPUPWINDOW,$WS_GROUP,$WS_TABSTOP,$WS_BORDER,$WS_CLIPSIBLINGS))
    GUISetState(@SW_SHOW)

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

    Dim $Button[20]
    For $z = 0 To 19
    $Button[$z] = GUICtrlCreateButton($z, 10 + Mod($z, 2) * 300, 10 + Int($z / 2) * 85, 282, 80)
    Next
    GUISetState()
    Do
    Until GUIGetMsg() = -3

    [/autoit]


    Grüße Ilse

  • Buttons erstellen

    • Ilse
    • 13. April 2012 um 15:37

    Die ini habe ich im ersten Thread!
    Hier nochmal als Datei

    Dateien

    Namen.ini 95 Byte – 227 Downloads
  • Buttons erstellen

    • Ilse
    • 13. April 2012 um 14:59

    Hallo Irrlicht,

    klappt irgendwie nicht!
    Habe das in der For Schleife eingebaut

    bekomme Error


    Spoiler anzeigen
    [autoit]


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

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

    Global $nMsg

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

    $Form1 = GUICreate("Form1", 625, 443, 192, 124, BitOR($WS_MAXIMIZEBOX,$WS_MINIMIZEBOX,$WS_SIZEBOX,$WS_THICKFRAME,$WS_SYSMENU,$WS_CAPTION,$WS_OVERLAPPEDWINDOW,$WS_TILEDWINDOW,$WS_POPUP,$WS_POPUPWINDOW,$WS_GROUP,$WS_TABSTOP,$WS_BORDER,$WS_CLIPSIBLINGS))
    GUISetState(@SW_SHOW)
    ;GUISetState(@SW_MAXIMIZE)
    Dim $Oben = 200 ;
    Dim $Links = 40
    Dim $Spalten = 4
    Dim $Buttonbreite = 200
    Dim $Buttonhoehe = 100
    Dim $Spaltenstart = 0
    $var = IniReadSection(@ScriptDir & '\Namen.ini',"Name")
    If @error Then
    MsgBox(4096, "", "Es ist ein Fehler aufgetreten. Warscheinlich keine INI Datei vorhanden.")
    Else
    For $i = 1 To $var[0][0]
    $button = GUICtrlCreateButton($var[$i][1],$Links,$oben,$Buttonbreite,$Buttonhoehe); da komme ich nicht weiter!!!
    GUICtrlSetResizing(-1, $GUI_DOCKAUTO)
    $Links +=20
    $Spaltenstart +=1
    If $Spaltenstart = $Spalten Then
    $Spaltenstart = 0
    $Links =40
    $oben +=100
    endif

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

    switch $nMsg
    case $button[$i]
    endswitch
    next
    wend

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

    Next
    EndIf

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

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

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

    EndSwitch
    WEnd

    [/autoit]
  • Buttons erstellen

    • Ilse
    • 13. April 2012 um 14:01

    Hallo Irrlicht,

    bin immer noch dran...
    hab das mal so probiert.
    Abstände stimmen noch nicht.
    Aber die Spalten!
    Das mit dem Case pro Button hab ich noch nicht verstanden!

    Spoiler anzeigen
    [autoit]


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

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

    $Form1 = GUICreate("Form1", 625, 443, 192, 124, BitOR($WS_MAXIMIZEBOX,$WS_MINIMIZEBOX,$WS_SIZEBOX,$WS_THICKFRAME,$WS_SYSMENU,$WS_CAPTION,$WS_OVERLAPPEDWINDOW,$WS_TILEDWINDOW,$WS_POPUP,$WS_POPUPWINDOW,$WS_GROUP,$WS_TABSTOP,$WS_BORDER,$WS_CLIPSIBLINGS))
    GUISetState(@SW_SHOW)
    GUISetState(@SW_MAXIMIZE)
    Dim $Oben = 200 ;
    Dim $Links = 40
    Dim $Spalten = 4
    Dim $Buttonbreite = 200
    Dim $Buttonhoehe = 100
    Dim $Spaltenstart = 0
    $var = IniReadSection(@ScriptDir & '\Namen.ini',"Name")
    If @error Then
    MsgBox(4096, "", "Es ist ein Fehler aufgetreten. Warscheinlich keine INI Datei vorhanden.")
    Else
    For $i = 1 To $var[0][0]
    GUICtrlCreateButton($var[$i][1],$Links,$oben,$Buttonbreite,$Buttonhoehe); da komme ich nicht weiter!!!
    GUICtrlSetResizing(-1, $GUI_DOCKAUTO)
    $Links +=20
    $Spaltenstart +=1
    If $Spaltenstart = $Spalten Then
    $Spaltenstart = 0
    $Links =40
    $oben +=100
    endif
    Next
    EndIf

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

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

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

    EndSwitch
    WEnd

    [/autoit]

    :( Grüße Ilse

  • Buttons erstellen

    • Ilse
    • 13. April 2012 um 13:04

    Hab mal das probiert,
    stimmt aber nicht.
    Ich muß das ganze ja auf 4 Spalten begrenzen

    Die Größe ist nun änderbar...

    Spoiler anzeigen
    [autoit]


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

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

    $Form1 = GUICreate("Form1", 625, 443, 192, 124, BitOR($WS_MAXIMIZEBOX,$WS_MINIMIZEBOX,$WS_SIZEBOX,$WS_THICKFRAME,$WS_SYSMENU,$WS_CAPTION,$WS_OVERLAPPEDWINDOW,$WS_TILEDWINDOW,$WS_POPUP,$WS_POPUPWINDOW,$WS_GROUP,$WS_TABSTOP,$WS_BORDER,$WS_CLIPSIBLINGS))
    GUISetState(@SW_SHOW)
    GUISetState(@SW_MAXIMIZE)
    Dim $Oben = 200 ;
    Dim $Links = 10
    Dim $Spalten = 4
    Dim $Buttonbreite = 200
    Dim $Buttonhoehe = 100

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

    $var = IniReadSection(@ScriptDir & '\Namen.ini',"Name")
    If @error Then
    MsgBox(4096, "", "Es ist ein Fehler aufgetreten. Warscheinlich keine INI Datei vorhanden.")
    Else
    For $i = 1 To $var[0][0]
    GUICtrlCreateButton($var[$i][1],$Links,$oben,$Buttonbreite,$Buttonhoehe); da komme ich nicht weiter!!!
    $Links +=100
    Next
    EndIf

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

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

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

    EndSwitch
    WEnd

    [/autoit]

    und...wie kann ich in der Schleife für jeden Button ein Case machen?
    :( Grüße Ilse

  • Buttons erstellen

    • Ilse
    • 13. April 2012 um 12:36

    Hallo Micha,

    merci für deine Hilfe.
    Habe mal die Gui resized (ohne Buttons)

    Spoiler anzeigen
    [autoit]


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

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

    $Form1 = GUICreate("Form1", 625, 443, 192, 124, BitOR($WS_MAXIMIZEBOX,$WS_MINIMIZEBOX,$WS_SIZEBOX,$WS_THICKFRAME,$WS_SYSMENU,$WS_CAPTION,$WS_OVERLAPPEDWINDOW,$WS_TILEDWINDOW,$WS_POPUP,$WS_POPUPWINDOW,$WS_GROUP,$WS_TABSTOP,$WS_BORDER,$WS_CLIPSIBLINGS))
    GUISetState(@SW_SHOW)
    GUISetState(@SW_MAXIMIZE)

    [/autoit] [autoit][/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]

    zu deinen Fragen:

    Wie groß soll die GUI sein ? Fest, Variabel, Fullscreen ? x-Prozent von Desktop ?
    Immer FullScreen
    Wieviel Rand in der GUI bis zu den Buttons ? Oben, Unten, Links und Rechts gleich ?
    Ja, der Abstand sollte bei den Buttons immer gleich sein. Außer der Abstand v. OBEN (Brauche noch etwas Platz f. Comboboxen...)
    Größe der Buttons soll immer das mögliche Maximum ergeben ?
    Ja! Das Problem 4 Spalten X Buttons? Dann muß ich nach unten scrollen können.
    Wieviel Abstand horizontal/vertikal ? Relativ zur Buttongröße ?
    Minimalabstand

    Sollte später so aussehen?
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Wenn's verkleinert wird sollte alles kleiner werden!
    Das Problem ist auch die ini:
    Habe ich 10 Buttons, oder 30...dann sieht das anders aus!
    ...und die Case f. die Buttons.

    Liebe Grüße
    ;) Ilse

    P.S. Natürlich mit den Namen aus der Ini

    Dateien

    autoit.JPG 94,08 kB – 0 Downloads
  • Buttons erstellen

    • Ilse
    • 13. April 2012 um 11:25

    Hallo,

    ich habe folgendes Problem:
    Ich möchte gerne anhand einer ini Buttons erstellen.

    Meine ini:

    Spoiler anzeigen
    [autoit]


    [Name]
    1=Peter
    2=Klaus
    3=Ingrid
    4=Alfred
    5=Claudia
    7=Silvia
    8=Monika
    9=Sigi
    10=Heinz

    [/autoit]

    Ich möchte im Script z.B. 4 Spalten festlegen
    und die Buttons je nach ini gleichmäßig in der größe verteilen.
    (Sodaß die ganze Gui ausgefüllt wird
    Habe schon alles mögliche probiert

    hier mal mein Code

    Spoiler anzeigen
    [autoit]


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

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

    $Gui = GUICreate("Namen", 701, 571, 208, 178)

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

    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlSetBkColor(-1, -2)
    GUISetState(@SW_SHOW)
    #region Ausrichtung Buttons

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

    Dim $Links = 10
    Dim $Oben = 10 ;<- hier die Anzahl der Zeilen eintragen
    Dim $Zwischen = 22 ;<- Abstand oben zwischen den Buttons
    Dim $Zeilen = 4 ; <- hier die Anzahl der Zeilen eintragen
    Dim $Abstand = 250 ; <- hier den Abstand zwischen den Spalten eintragen
    Dim $Spalten = 4

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

    Dim $ButtonWidth = 20
    Dim $ButtonHeight = 10
    #endregion Ausrichtung Buttons

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

    $var = IniReadSection(@ScriptDir & '\Namen.ini',"Name")
    If @error Then
    MsgBox(4096, "", "Es ist ein Fehler aufgetreten. Warscheinlich keine INI Datei vorhanden.")
    Else
    For $i = 1 To $var[0][0]
    GUICtrlCreateButton($var[$i][1],$Links + 40,$oben +50); da komme ich nicht weiter!!!
    Next
    EndIf

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

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

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

    EndSwitch
    WEnd

    [/autoit]

    Ich dachte so:
    Wenn meine ini z.B. 20 Namen hat,
    und es sind 4 Spalten im Script eingestellt
    dann sollen 5 x 4 Buttons gemacht werden
    die die ganze Gui ausfüllen.(egal wie groß die Gui ist)
    hab schon mit @Desktopwidth... experimentiert aber mit der ini zusammen
    etwas schwierig.
    Jeder Buttons soll per Case anklickbar sein...huh

    Würde mich freuen, wenn das irgendwie
    klappen würde.

    Liebe Grüße
    ;) Ilse

  • GuiCtrlGetFocus?

    • Ilse
    • 5. April 2012 um 11:53

    Hallo Protex,

    merci für den Tipp

    Liebe Grüße
    Ilse

  • GuiCtrlGetFocus?

    • Ilse
    • 5. April 2012 um 09:51

    Hallo Name22,

    erstmal dank für dein Hilfe.
    Ich krieg das hier einfach nicht zum laufen:

    Folgendes sollte das Script machen:
    1. Wenn Fokus auf einem Objekt ist
    und ich die + Taste drücke wird die Schrift geändert!

    Beim ersten Objekt geht das,
    aber beim zweiten nicht!

    Spoiler anzeigen
    [autoit]


    #include <ComboConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GUIListBox.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 625, 443, 192, 124)
    $Input1 = GUICtrlCreateInput("Input1", 48, 144, 121, 21)
    $Combo1 = GUICtrlCreateCombo("Combo1", 184, 144, 145, 25)
    GUICtrlSetData(-1, "Auswahl|Text 1|Text 2")
    $List1 = GUICtrlCreateList("", 352, 144, 121, 97)
    GUICtrlSetData(-1, "Liste 1|Liste 2")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    HotKeySet("{NUMPADADD}", "plus")

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

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

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

    EndSwitch
    WEnd

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

    Func plus()
    Switch ControlGetHandle($Form1, "", ControlGetFocus($Form1))
    Case ControlGetHandle($Form1, "", $Input1)

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

    $pos = ControlGetPos("", "", $Input1)
    $FontSize += 4
    GUICtrlSetFont($Input1, $FontSize)
    GUICtrlSetPos($Input1, $pos[0], $pos[1], $pos[2], $pos[3] + 7); Input wird vergrößert

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

    Case ControlGetHandle($Form1, "", $Combo1)

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

    $pos = ControlGetPos("", "", $Combo1)
    $FontSize += 4
    GUICtrlSetFont($Combo1, $FontSize)
    GUICtrlSetPos($Combo1, $pos[0], $pos[1], $pos[2], $pos[3] + 7);Combo wird nicht vergrößert???

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

    EndSwitch
    EndFunc ;==>plus

    [/autoit]


    ;) 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™