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
#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
Alles anzeigen