На мой взгляд поведение ф-ии :
некорректно.
Пример:
После удаления дочерних элементов галочка то остается, сигнализируя о наличие дочерних пунктов ???
Код:
_GUICtrlTreeView_DeleteChildren
некорректно.
Пример:
Код:
#include <GuiConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GuiTreeView.au3>
$h_GUI = GUICreate('', 230, 400)
$i_Style = BitOR($TVS_HASBUTTONS, $TVS_HASLINES, $TVS_LINESATROOT, $TVS_DISABLEDRAGDROP, $TVS_SHOWSELALWAYS )
$h_TV = GUICtrlCreateTreeView(10, 10, 100, 300, $i_Style, $WS_EX_CLIENTEDGE)
$h_Item = _GUICtrlTreeView_Add($h_TV, 0, 'Test')
_GUICtrlTreeView_AddChild($h_TV, $h_Item, 'Proba')
_GUICtrlTreeView_AddChild($h_TV, $h_Item, 'Proba1')
_GUICtrlTreeView_Expand($h_TV)
$h_TV1=_GUICtrlTreeView_Create($h_GUI, 120, 10, 100, 300)
$h_Item1 = _GUICtrlTreeView_Add($h_TV1, 0, 'Test')
_GUICtrlTreeView_AddChild($h_TV1, $h_Item1, 'Proba')
_GUICtrlTreeView_AddChild($h_TV1, $h_Item1, 'Proba1')
_GUICtrlTreeView_Expand($h_TV1)
$_But=GUICtrlCreateButton("Delete Children", 10, 320, 100, 20)
$_But1=GUICtrlCreateButton("Delete Children", 120, 320, 100, 20)
GUISetState()
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $_But
_GUICtrlTreeView_DeleteChildren($h_TV, $h_Item)
$sText="Количество вложенных пунктов в родительском = " & _GUICtrlTreeView_GetChildCount($h_TV, $h_Item) & @CRLF & _
"Установлен ли пункту флаг, как содержащий дочерние пункты = " & _GUICtrlTreeView_GetChildren($h_TV, $h_Item)
MsgBox(4096+32, '', $sText)
Case $_But1
_GUICtrlTreeView_DeleteChildren($h_TV1, $h_Item1)
$sText="Количество вложенных пунктов в родительском = " & _GUICtrlTreeView_GetChildCount($h_TV1, $h_Item1) & @CRLF & _
"Установлен ли пункту флаг, как содержащий дочерние пункты = " & _GUICtrlTreeView_GetChildren($h_TV1, $h_Item1)
MsgBox(4096+32, '', $sText)
EndSwitch
WEnd
После удаления дочерних элементов галочка то остается, сигнализируя о наличие дочерних пунктов ???