Что нового

Проблема отображения подменю элемента TreeView

vovsla

Осваивающий
Сообщения
607
Репутация
36
Есть два элемента TreeView, в одном дерево элементов создается сразу после создания , во втором в функции.
Там где дерево элементов создается сразу после создания TreeView сразу виден плюс для раскрытия дерева.
А там где дерево элементов создается в функции, плюс отображается только после наведения курсора мыши.
Как сделать чтобы плюс появлялся сразу при создании элементов в функции?
Или предложите более подходящий способ создания динамического меню.

Код:
;~ #RequireAdmin
#include <AutoItConstants.au3>

#include <GUIConstantsEx.au3>
#include <TabConstants.au3>
#include <TreeViewConstants.au3>
#include <WindowsConstants.au3>




#Region ### START Koda GUI section ### Form=D:\Distributiv\AutoIt\Project\ImgMgr\ImgMgr00.kxf
$Form1 = GUICreate("Image Manager", 615, 437, 192, 124)
$Tab1 = GUICtrlCreateTab(4, 4, 217, 233)
$TabSheet1 = GUICtrlCreateTabItem("Образы")
$TreeView1 = GUICtrlCreateTreeView(12, 32, 145, 169, BitOR($GUI_SS_DEFAULT_TREEVIEW,$WS_BORDER))
	$idGeneralitem = GUICtrlCreateTreeViewItem("General", $TreeView1)
    $idAboutitem = GUICtrlCreateTreeViewItem("About", $idGeneralitem)
    $idCompitem = GUICtrlCreateTreeViewItem("Computer", $idGeneralitem)
    $var=GUICtrlCreateTreeViewItem("User", $idGeneralitem)


$TabSheet2 = GUICtrlCreateTabItem("TabSheet2")
GUICtrlCreateTabItem("")
$TreeView2 = GUICtrlCreateTreeView(256, 44, 241, 197, BitOR($GUI_SS_DEFAULT_TREEVIEW,$WS_BORDER))
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###



MakeListImages()



While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit

		Case $Form1
	EndSwitch
WEnd



Func MakeListImages()
	$idGeneralitem2 = GUICtrlCreateTreeViewItem("General2", $TreeView2)
    $idAboutitem2 = GUICtrlCreateTreeViewItem("About2", $idGeneralitem2)
    $idCompitem2 = GUICtrlCreateTreeViewItem("Computer2", $idGeneralitem2)
    $var2=GUICtrlCreateTreeViewItem("User", $idGeneralitem2)
EndFunc
 

Tempo

AutoIT Гуру
Сообщения
616
Репутация
205
Попробуйте использовать после создания элемента
Код:
#include <WinAPI.au3>
;
_WinAPI_RedrawWindow(GUICtrlGetHandle(...))
;
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
для TV есть свои средства

Код:
;~ #RequireAdmin
#include <AutoItConstants.au3>

#include <GUIConstantsEx.au3>
#include <TabConstants.au3>
#include <TreeViewConstants.au3>
#include <WindowsConstants.au3>
#include <GuiTreeView.au3>



#Region ### START Koda GUI section ### Form=D:\Distributiv\AutoIt\Project\ImgMgr\ImgMgr00.kxf
Local $Form1 = GUICreate('Image Manager', 615, 437, 192, 124)
Local $Tab1 = GUICtrlCreateTab(4, 4, 217, 233)
Local $TabSheet1 = GUICtrlCreateTabItem('Образы')
Local $TreeView1 = GUICtrlCreateTreeView(12, 32, 145, 169, BitOR($GUI_SS_DEFAULT_TREEVIEW, $WS_BORDER))
_GUICtrlTreeView_BeginUpdate($TreeView1)
Local $idGeneralitem = _GUICtrlTreeView_Add($TreeView1, 0, 'General')
Local $idAboutitem = _GUICtrlTreeView_AddChild($TreeView1, $idGeneralitem, 'About')
Local $idCompitem = _GUICtrlTreeView_AddChild($TreeView1, $idGeneralitem, 'Computer')
Local $var = _GUICtrlTreeView_AddChild($TreeView1, $idGeneralitem, 'User')
_GUICtrlTreeView_EndUpdate($TreeView1)


Local $TabSheet2 = GUICtrlCreateTabItem('TabSheet2')
GUICtrlCreateTabItem('')
Global $TreeView2 = GUICtrlCreateTreeView(256, 44, 241, 197, BitOR($GUI_SS_DEFAULT_TREEVIEW, $WS_BORDER))
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###



MakeListImages()



While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit

		Case $Form1
	EndSwitch
WEnd



Func MakeListImages()
	_GUICtrlTreeView_BeginUpdate($TreeView2)
	Local $idGeneralitem2 = _GUICtrlTreeView_Add($TreeView2, 0, 'General2')
	Local $idAboutitem2 = _GUICtrlTreeView_AddChild($TreeView2, $idGeneralitem2, 'About2')
	Local $idCompitem2 = _GUICtrlTreeView_AddChild($TreeView2, $idGeneralitem2, 'Computer2')
	Local $var2 = _GUICtrlTreeView_AddChild($TreeView2, $idGeneralitem2, 'User')
	_GUICtrlTreeView_EndUpdate($TreeView2)
EndFunc   ;==>MakeListImages
 
Автор
V

vovsla

Осваивающий
Сообщения
607
Репутация
36
Спасибо, так гораздо быстрее
 
Верх