#include <GUIConstantsEx.au3>
#include <GuiListView.au3>
#include <WindowsConstants.au3>
#include <Array.au3>
#include <EditConstants.au3>
Global $aCTRL[4][6], $aDC[1], $aCC[4] = ['GUICtrlCreateInput', 'GUICtrlCreateButton', 'GUICtrlCreateRadio', 'GUICtrlCreateCheckbox']
Global $CCtrl
Global $Form1 = GUICreate("Form1", 543, 228, 620, 253)
$aCTRL[0][0] = GUICtrlCreateInput("Input1", 48, 32, 121, 21)
$aCTRL[1][0] = GUICtrlCreateButton("Button1", 48, 72, 75, 25)
$aCTRL[2][0] = GUICtrlCreateCheckbox("Checkbox1", 56, 120, 97, 17)
$aCTRL[3][0] = GUICtrlCreateRadio("Radio1", 48, 152, 113, 17)
Local $bt = GUICtrlCreateButton("Получить список", 352, 176, 155, 25)
GUISetState(@SW_SHOW)
Local $nMsg, $nc, $cgp
While 1
If UBound($aDC) > 1 Then
For $i = 1 To UBound($aDC) - 1
GUICtrlDelete($aDC[$i])
Next
ReDim $aDC[1]
EndIf
If $CCtrl Then
$nc = Execute($CCtrl)
$CCtrl = 0
$cgp = ControlGetPos($Form1, '', $nc)
_ArrayAdd($aCTRL, $nc & '|' & ControlGetText($Form1, '', $nc) & '|' & $cgp[0] & '|' & $cgp[1] & '|' & $cgp[2] & '|' & $cgp[3])
EndIf
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $bt
_getparam()
EndSwitch
WEnd
Func _getparam()
GUISetState(@SW_DISABLE, $Form1)
Local $lgc = GUICreate("Form1", 450, 450, -1, -1, -1, -1, $Form1)
Local $lv = GUICtrlCreateListView('1|2|3|4|5|6', 0, 0, 300, 300)
Local $ain[5] = [GUICtrlCreateInput('', 5, 310, 100, 25), GUICtrlCreateInput('', 110, 310, 50, 25, $ES_NUMBER), GUICtrlCreateInput('', 160, 310, 50, 25, $ES_NUMBER), _
GUICtrlCreateInput('', 210, 310, 50, 25, $ES_NUMBER), GUICtrlCreateInput('', 260, 310, 50, 25, $ES_NUMBER)]
Local $al[4] = [GUICtrlCreateRadio('GUICtrlCreateInput', 310, 10, 140, 20), GUICtrlCreateRadio('GUICtrlCreateButton', 310, 35, 140, 20), _
GUICtrlCreateRadio('GUICtrlCreateRadio', 310, 60, 140, 20), GUICtrlCreateRadio('GUICtrlCreatecheckbox', 310, 85, 140, 20)]
Local $dc = GUICtrlCreateButton("Удалить", 100, 350, 75, 25)
Local $ccr = GUICtrlCreateButton("Создать", 190, 350, 75, 25)
GUISetState(@SW_SHOW, $lgc)
Local $cgp
For $i = 0 To UBound($aCTRL) - 1
$aCTRL[$i][1] = ControlGetText($Form1, '', Number($aCTRL[$i][0]))
$cgp = ControlGetPos($Form1, '', Number($aCTRL[$i][0]))
$aCTRL[$i][2] = $cgp[0]
$aCTRL[$i][3] = $cgp[1]
$aCTRL[$i][4] = $cgp[2]
$aCTRL[$i][5] = $cgp[3]
GUICtrlCreateListViewItem($aCTRL[$i][0] & '|' & $aCTRL[$i][1] & '|' & $aCTRL[$i][2] & '|' & _
$aCTRL[$i][3] & '|' & $aCTRL[$i][4] & '|' & $aCTRL[$i][5], $lv)
Next
Local $nMsg
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
GUIDelete($lgc)
GUISetState(@SW_ENABLE, $Form1)
WinActivate($Form1)
Return
Case $dc
Local $ind = Number(_GUICtrlListView_GetSelectedIndices($lv))
Local $txt = _GUICtrlListView_GetItemText($lv, $ind)
ControlHide($Form1, '', Number($txt))
_ArrayDelete($aCTRL, $ind)
_ArrayAdd($aDC, $txt)
_GUICtrlListView_DeleteItemsSelected($lv)
Case $ccr
Local $rs
For $i = 0 To 3
$rs = GUICtrlRead($al[$i])
If $rs = 1 Then
$CCtrl = $aCC[$i] & '('
ExitLoop
EndIf
Next
For $i = 0 To 4
$rs = GUICtrlRead($ain[$i])
If $i = 0 Then
$CCtrl &= '"' & $rs & '"' & ','
ElseIf $i >= 1 And $i < 4 Then
$CCtrl &= $rs & ','
ElseIf $i = 4 Then
$CCtrl &= $rs & ')'
EndIf
Next
GUIDelete($lgc)
GUISetState(@SW_ENABLE, $Form1)
WinActivate($Form1)
Return
EndSwitch
WEnd
EndFunc ;==>_getparam