Что нового

Работа с элементом Chekbox

artpluss

Новичок
Сообщения
21
Репутация
0
Помогите решить такую проблему
Есть кусок кода:

Код:
For $j = 3 To UBound($cVar)-1 ; и занесем их вновь = ключу (имя РС)
 			ConsoleWrite($cVar[$j][1]& @LF) ;Выдать данные в поток, для чтения
			GUICtrlCreateListViewItem( $cVar[$j][0] & " = " &$cVar[$j][1], $hListView)
			$ping = Ping($cVar[$j][0],250)
			If $ping <> 0 Then 
				$k=$k+1
;~ 				GUICtrlSetState(5, $GUI_CHECKED)
;~ 				GUICtrlSetState(-1, $GUI_CHECKED)
;~ 				_GUICtrlListView_SetItemChecked($hListView, -1)
				_GUICtrlListView_SetItemChecked($hListView, $Checked)
;~ 				_GUICtrlListView_SetItemChecked($hListView, 0)
;~ 				_GUICtrlListView_GetItemChecked($hListView, 1)
;~ 				_GUICtrlListView_SetItemSelected ($hListView, True)
;~ 			Else
;~ 				_GUICtrlListView_SetItemChecked($hListView, $cVar[$j][0], False)
			EndIf
		Next


Как сделать так, чтобы Checkbox ставился (переходил в состояние True) только в том случае если элемент $cVar[$j][0] пингуется, а если он не пингуется (недоступен) то чекбокс должен быть в состоянии False?
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
artpluss
Немного переделанный пример из справки:
Код:
#include <GuiConstantsEx.au3>
#include <GuiListView.au3>

Dim $aPing[3] = ['autoit-script.ru', 'autoitscript.ru', 'google.ru']
$exStyles = BitOR($LVS_EX_FULLROWSELECT, $LVS_EX_CHECKBOXES)

GUICreate('ListView Set Item Checked State', 400, 300)
$hListView = GUICtrlCreateListView('', 2, 2, 394, 200)
_GUICtrlListView_SetExtendedListViewStyle($hListView, $exStyles)
$nButton = GUICtrlCreateButton('Go', 150, 220, 100, 30)
GUISetState()

_GUICtrlListView_AddColumn($hListView, 'Column 1', 300)
_GUICtrlListView_AddItem($hListView, 'Row 1')
_GUICtrlListView_AddItem($hListView, 'Row 2')
_GUICtrlListView_AddItem($hListView, 'Row 3')

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $nButton
			For $i = 0 To UBound($aPing) - 1
				$iPing = Ping($aPing[$i])
				_GUICtrlListView_AddItem($hListView, $aPing[$i] & ': ' & $iPing & ' ms')
				$iCount = _GUICtrlListView_GetItemCount($hListView)
				_GUICtrlListView_SetItemChecked($hListView, $iCount - 1, $iPing)
			Next
	EndSwitch
WEnd
 
Верх