GuiCtrlDelete

  • 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)
    autoit.de/wcf/attachment/15546/

    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

  • Hab nur kurz drübergeguckt, aber müsstest du beim CtrlDelete nicht die ID des Controls angeben ($aButtonsID) Und nicht $var[][]? ^^

    mfg BB

    "IF YOU'RE GOING TO KILL IT
    OPEN SOURCE IT!"

    by Phillip Torrone

    Zitat von Shoutbox

    [Heute, 11:16] Andy: ....böseböseböseböse....da erinnere ich mich daran, dass man den Puschelschwanz eines KaRnickels auch "Blume" nennt....ob da eins zum anderen passt? :rofl: :rofl: :rofl: :rofl:

    https://autoit.de/index.php?page…leIt#post251138

    Neon Snake

  • 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

  • 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", 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
    _deleteControl()
    _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 & "\" & 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)
    Next

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

    EndFunc ;==>_Daten
    Func _deleteControl()
    if not IsArray($idButton) or not IsArray ($var) Then Return
    For $i = 0 To $var[0][0] -1

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

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

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

    Next
    EndFunc ;==>_deleteControl

    [/autoit]


    Das löscht schonmal sauber. Die Buttons werden "falsch" erstellt, weil du sie an Position 0, 0 erstellst und beim Resizen des GUI eine Funktion ausgelöst wird die die Buttons "richtig" hinsetzt. Das musst du ändern

    EDIT: Musst die Pfade noch anpassen ;)

    mfg BB

    "IF YOU'RE GOING TO KILL IT
    OPEN SOURCE IT!"

    by Phillip Torrone

    Zitat von Shoutbox

    [Heute, 11:16] Andy: ....böseböseböseböse....da erinnere ich mich daran, dass man den Puschelschwanz eines KaRnickels auch "Blume" nennt....ob da eins zum anderen passt? :rofl: :rofl: :rofl: :rofl:

    https://autoit.de/index.php?page…leIt#post251138

    Neon Snake

  • 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

  • Das geht so nicht, du kannst das Array so nicht im Switch verwenden. Entweder du benutzt eine For Schleife mit If Abfrage nach dem Switch oder du benutzt den OnEventMode, den ich 1000 mal praktischer finde um Arrays zu überprüfen.
    Zu dem problem mit der Position: Wenn es nicht UNBEDINGT nötig ist schmeiß den Size Style raus, dann auch den Size Register vom GUI Weg und erstell die Buttons auf anhieb richtig.

    mfg BB

    "IF YOU'RE GOING TO KILL IT
    OPEN SOURCE IT!"

    by Phillip Torrone

    Zitat von Shoutbox

    [Heute, 11:16] Andy: ....böseböseböseböse....da erinnere ich mich daran, dass man den Puschelschwanz eines KaRnickels auch "Blume" nennt....ob da eins zum anderen passt? :rofl: :rofl: :rofl: :rofl:

    https://autoit.de/index.php?page…leIt#post251138

    Neon Snake

  • 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

  • Hallo Ilse,

    so nun haben wir es.

    Spoiler anzeigen
    [autoit]

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

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

    ;-- Global variables
    Global $sDataDir = @ScriptDir & "\Data"
    Global $idButton [1], $idcbo
    Global $sCurComboSel

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

    ;-- Start script
    Exit (ScriptMain ( ))

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

    ;-- Main function of the script
    Func ScriptMain ( )

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

    Local $hwnd
    Local $nMsg
    Local $rcClient

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

    $hwnd = GUICreate ("Form1", 625, 443, 192, 124, _
    BitOR($WS_OVERLAPPEDWINDOW, $WS_CLIPCHILDREN, $WS_CLIPSIBLINGS))

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

    GUICtrlCreateLabel ("Auswahl", 12, 5)
    $idcbo = GUICtrlCreateCombo ("", 12, 23, 145, 25)
    InitComboData ($idcbo)

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

    CreateButtons ($idcbo)

    [/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
    ExitLoop

    [/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)))

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

    Case $idcbo
    If ($sCurComboSel <> GUICtrlRead ($idcbo)) Then

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

    $sCurComboSel = GUICtrlRead ($idcbo)

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

    DeleteButtons ( )
    CreateButtons ($idcbo)
    $rcClient = WinGetClientSize ($hwnd)
    OnSize ($hwnd, $WM_SIZE, 0, MAKELPARAM($rcClient[0], $rcClient[1]))
    EndIf
    EndSwitch
    WEnd

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

    Return 0

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

    EndFunc

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

    ;-- Aligns the buttons
    Func OnSize ($hwnd, $message, $wParam, $lParam)

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

    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]

    ;-- Initializes the content of the combo box
    Func InitComboData ($idCombo)

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

    Local $aInis
    Local $sFileName

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

    $aInis = _FileListToArray ($sDataDir, "*.ini", 1)

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

    If IsArray ($aInis) Then

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

    For $i = 0 To $aInis[0]

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

    $sFileName = StringTrimRight ($aInis[$i], 4)
    GUICtrlSetData ($idcbo, $sFileName, $sFileName)
    Next
    EndIf

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

    $sCurComboSel = GUICtrlRead ($idcbo)

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

    Return 0

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

    EndFunc

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

    ;-- Creates a button for each entry in the INI section "Name"
    Func CreateButtons ($idCombo)

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

    Local $var
    Local $iniwahl

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

    $iniwahl = StringFormat ("%s\\%s.ini", $sDataDir, GUICtrlRead ($idCombo))

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

    $var = IniReadSection ($iniwahl, "Namen")

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

    ReDim $idButton[$var[0][0]]

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

    For $i = 1 To $var[0][0]

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

    $idButton[$i - 1] = GUICtrlCreateButton ($var[$i][1], 0, 0)
    Next

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

    Return 0

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

    EndFunc

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

    ;-- Deletes all buttons
    Func DeleteButtons ( )

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

    For $i = 0 To UBound($idButton) - 1

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

    GUICtrlDelete ($idButton[$i])
    Next

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

    Return 0

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

    EndFunc

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

    ;-- Helper function
    Func MAKELPARAM($wLow, $wHigh)
    Return BitOR ( BitAND ( $wLow, 0xFFFF ), BitShift (BitAND ( $wHigh, 0xFFFF ), -16) )
    EndFunc

    [/autoit]


    Evtl musst Du noch den Pfad zu Deinen INIs wieder anpassen.

    LG
    Greenhorn


  • 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

  • Hallo Greenhorn,

    muß mich wieder melden.
    Ich probiere schon seit heute Morgen
    daß alle Buttons gleich groß sind.(Scroll)...
    Bei einer großen Ini (Chaos...)

    Wäre toll wenn du mir da einen Tipp geben kannst
    wie ich das in diesem Script ändern kann?


    Liebe Grüße
    :( Ilse

  • Hallo Ilse,

    der Stand der Dinge ist momentan dieser:

    • Schaltflächen haben eine feste Höhe
    • Bildlaufleiste für das Containerfenster implementiert

    Was zur Zeit nicht (richtig) läuft:

    • Tastaturunterstützung für alle Schaltflächen
    • Mausunterstützung für die Bildlaufleiste benötigt Fokus des Containerfensters


    Ich weiß nicht, ob ich den Rest so auf die Schnelle hinbekomme.


    Lieben Gruß
    Greenhorn

  • Hallo Greenhorn,

    erstmal bin ich froh, daß du mich nicht vergessen hast. ;)
    ...war jeden Tag schauen...!
    Hast du wirklich klasse programmiert mit den Buttons.
    Vielleicht klappt es ja noch mit der Tastatur.

    Würd mich sehr freuen.

    Liebe Grüße
    ;) Ilse

  • Hallo Greenhorn,

    hab das hier im Netz gefunden.
    Vielleicht kann man damit irgendwie mit den Tabs
    die Buttons anspringen:

    Tastatur

    Meine Änderungen am Script haben leider nicht funktioniert

    Liebe Grüße
    ;) Ilse