Ich blick da nicht ganz durch ... ohne Array mit ein paar Checkboxen kein Problem aber mit dem Array funktioniert das bei mir nicht
Beiträge von Cobuzu
-
-
Hallo,
Im Titel klingt mein Problem ziemlich einfach aber ich muss ausführlich erklären was mein Problem ist.
Also ich habe es hinbekommen mehrere Checkboxen mit einen klick auf den "Add" Button zu erstellen und diese werden auch automatisch nacheinander angeordnet.
Nun würde ich gerne wenn eine oder mehrere Checkboxen aktiv sind diese löschen mit einem klick auf den "Delete" Button und die nicht aktiven Checkboxen sollen dann nachrücken so das keine Lücken entstehen.
Ich hoffe irgendwer kann mir helfen, denn ich bin schon seit Stunden dran und schon am verzweifeln.
Hier der Code den ich habe
C
Alles anzeigen#include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <StaticConstants.au3> #include <EditConstants.au3> #include <MsgBoxConstants.au3> #include <GuiButton.au3> Global $test = GUICreate("Test", 425, 277, -1, -1) Global $Group2 = GUICtrlCreateGroup("Test's", 5, 35, 422, 275) GUICtrlSetFont(-1, 12, 400, 0, "Calibri") Global $add1 = GUICtrlCreateButton("ADD", 2, 5, 80, 30) GUICtrlSetFont(-1, 11, 800, 0, "Calibri") Global $delete1 = GUICtrlCreateButton("DELETE", 87, 5, 80, 30) GUICtrlSetFont(-1, 11, 800, 0, "Calibri") Global $details1 = GUICtrlCreateButton("DETAILS", 172, 5, 80, 30) GUICtrlSetFont(-1, 11, 800, 0, "Calibri") Global $close1 = GUICtrlCreateButton("CLOSE", 257, 5, 80, 30) GUICtrlSetFont(-1, 11, 800, 0, "Calibri") Local Const $MAX_COL = 7 Local Const $MAX_ROW = 5 Local Const $MAX_CB = $MAX_COL * $MAX_ROW ; maximum of checkboxes Local $aCheck[$MAX_CB + 1] = [1, GUICtrlCreateCheckbox("Checkbox 1", 15, 55, 55, 45, $BS_ICON)] $icon = GUICtrlSetImage(-1, "C:\Users\Nutzer\Desktop\referenzen\icon.ico", 22) Local $iNumCB = IniRead("Test.ini", "Checkbox", "", 1) For $i = 2 To $iNumCB $aCheck[$i] = GUICtrlCreateCheckbox("Checkbox " & $i, 15 + Floor(($i - 1) / $MAX_ROW) * 58, 55 + Mod($i - 1, $MAX_ROW) * 45, 55, 45, $BS_ICON) $icon = GUICtrlSetImage(-1, "C:\Users\Nutzer\Desktop\referenzen\icon.ico", 22) Next $aCheck[0] = $iNumCB GUISetState(@SW_SHOW) While 1 Switch GUIGetMsg() Case $close1 Exit Case $add1 If $aCheck[0] = $MAX_CB Then MsgBox($MB_SYSTEMMODAL, "", "Maximum reached") Else $aCheck[0] += 1 $aCheck[$aCheck[0]] = GUICtrlCreateCheckbox("Checkbox " & $aCheck[0], 15 + Floor(($aCheck[0] - 1) / $MAX_ROW) * 58, 55 + Mod($aCheck[0] - 1, $MAX_ROW) * 45, 55, 45, $BS_ICON) $icon = GUICtrlSetImage(-1, "C:\Users\Nutzer\Desktop\referenzen\icon.ico", 22) IniWrite("Test.ini", "Checkbox", "", $aCheck[0]) EndIf Case $delete1 EndSwitch WEnd