Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Zaznacz wszystkie


Rekomendowane odpowiedzi

Opublikowano

Próbuje zrobić chechbox "Zaznacz wszystkie". Tak aby po jego zaznaczeniu zaznaczyło mi całą listę w GUICtrlCreateTreeView. Natomiast w przypadku jego odznaczenia żeby cała lista również się odznaczyła. Póki co to działa mi tylko przy uruchamianiu programu, natomiast po kliknięciu zero reakcji :/ ma kto jaki pomysł na to ?

Opublikowano


#include <File.au3>

#include <GUIConstantsEx.au3>

#include <MsgBoxConstants.au3>

#include <TreeviewConstants.au3>

#include <WindowsConstants.au3>

#include <GuiListView.au3>

#include <GuiTreeView.au3>

#include <options/config.au3>

 

Global $FileList, $Index, $FileView, $File, $SS_CENTER

Local $FilePath, $FileTested, $FileLoaded, $Run, $Exit = 0, $NoPath = 1

 

Dim $TreeItem[65536]

 

$Form1 = GUICreate("test", 640, 500, 192, 124, BitOR($WS_SIZEBOX, $WS_MAXIMIZEBOX, $WS_MINIMIZEBOX, $WS_EX_TRANSPARENT))

 

$boxall = GUICtrlCreateCheckbox("All", 39, 282)

GUICtrlSetState(-1, $GUI_CHECKED)

 

$FileView = GUICtrlCreateTreeView(15, 75, 295, 200, BitOR($TVS_HASLINES, $TVS_LINESATROOT, $TVS_CHECKBOXES), $WS_EX_CLIENTEDGE)

 

odrazu()

 

GUISetState(@SW_SHOW)

WinSetOnTop("test","",1)

 

Main()

 

Func Main()

While $Exit = 0

$nMsg = GUIGetMsg()

 

Switch $nMsg

Case $GUI_EVENT_CLOSE

$Exit = 1

 

EndSwitch

WEnd

EndFunc

 

Func odrazu()

$aFileList = _FileListToArray(@ScriptDir&"\testy", "*.au3", 1)

For $Index = 1 To $aFileList[0]

$TreeItem[$Index] = GUICtrlCreateTreeViewItem($aFileList[$Index],$FileView)

GUICtrlSetState($TreeItem[$Index], $GUI_CHECKED)

Next

EndFunc

Opublikowano

Tego się nie robi GUICtrlSetState, musisz użyć _GUICtrlTreeView_SetChecked.

Opublikowano

Tego się nie robi GUICtrlSetState, musisz użyć _GUICtrlTreeView_SetChecked.

 

Nie piernicz, GUICtrlSetState też działa.

 

Trochę gotowiec, ale tam gdzie są komentarze pozmieniałem/dodałem kod.

 

Tutaj bez komentarzy:

 

 

#include <File.au3>
#include <GUIConstantsEx.au3>
#include <MsgBoxConstants.au3>
#include <TreeviewConstants.au3>
#include <WindowsConstants.au3>
#include <GuiListView.au3>
#include <GuiTreeView.au3>
#include <options/config.au3>

Global $FileList, $Index, $FileView, $File, $SS_CENTER
Local $FilePath, $FileTested, $FileLoaded, $Run, $Exit = 0, $NoPath = 1

Global $bAll = True
Global $TreeItem[0]


$Form1 = GUICreate("test", 640, 500, 192, 124, BitOR($WS_SIZEBOX, $WS_MAXIMIZEBOX, $WS_MINIMIZEBOX, $WS_EX_TRANSPARENT))

$boxall = GUICtrlCreateCheckbox("Zaznacz wszystko", 39, 282)
GUICtrlSetState(-1, $GUI_CHECKED)

$FileView = GUICtrlCreateTreeView(15, 75, 295, 200, BitOR($TVS_HASLINES, $TVS_LINESATROOT, $TVS_CHECKBOXES), $WS_EX_CLIENTEDGE)

odrazu()

GUISetState(@SW_SHOW)
WinSetOnTop("test", "", 1)

Main()

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

			Case $boxall
				For $Item In $TreeItem
					GUICtrlSetState($Item, 1 + $bAll * 3)
				Next
				$bAll = Not $bAll

		EndSwitch
	WEnd
EndFunc   ;==>Main

Func odrazu()
	$aFileList = _FileListToArray(@ScriptDir & "\testy", "*.au3", 1)
	If @ Then Return
	For $Index = 1 To $aFileList[0]
		ReDim $TreeItem[UBound($TreeItem) + 1]
		$TreeItem[$Index - 1] = GUICtrlCreateTreeViewItem($aFileList[$Index], $FileView)
		GUICtrlSetState($TreeItem[$Index - 1], $GUI_CHECKED)
	Next
EndFunc   ;==>odrazu

 

 

#include <File.au3>
#include <GUIConstantsEx.au3>
#include <MsgBoxConstants.au3>
#include <TreeviewConstants.au3>
#include <WindowsConstants.au3>
#include <GuiListView.au3>
#include <GuiTreeView.au3>
#include <options/config.au3>

Global $FileList, $Index, $FileView, $File, $SS_CENTER
Local $FilePath, $FileTested, $FileLoaded, $Run, $Exit = 0, $NoPath = 1

Global $bAll = True ;na poczatku sa zaznaczone wszystkie (to tylko zmienna informacyjna)
Global $TreeItem[0] ;pusta zmienna, i tak nie wykorzystasz 60 tys. zmiennych


$Form1 = GUICreate("test", 640, 500, 192, 124, BitOR($WS_SIZEBOX, $WS_MAXIMIZEBOX, $WS_MINIMIZEBOX, $WS_EX_TRANSPARENT))

$boxall = GUICtrlCreateCheckbox("Zaznacz wszystko", 39, 282)
GUICtrlSetState(-1, $GUI_CHECKED)

$FileView = GUICtrlCreateTreeView(15, 75, 295, 200, BitOR($TVS_HASLINES, $TVS_LINESATROOT, $TVS_CHECKBOXES), $WS_EX_CLIENTEDGE)

odrazu()

GUISetState(@SW_SHOW)
WinSetOnTop("test", "", 1)

Main()

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

			Case $boxall ;jesli klikniesz checkbox 'Zaznacz wszystko'
				For $Item In $TreeItem
					GUICtrlSetState($Item, 1 + $bAll * 3) ;1 + 0 * 3 = $GUI_CHECKED _LUB_ 1 + 1 * 3 = $GUI_UNCHECKED
				Next
				$bAll = Not $bAll ;przelacznik True <> False

		EndSwitch
	WEnd
EndFunc   ;==>Main

Func odrazu()
	$aFileList = _FileListToArray(@ScriptDir & "\testy", "*.au3", 1)
	If @ Then Return ;jesli nie ma plikow to wychodzi z funkcji
	For $Index = 1 To $aFileList[0]
		ReDim $TreeItem[UBound($TreeItem) + 1] ;dodaje 1 zmienna do tablicy 
		$TreeItem[$Index - 1] = GUICtrlCreateTreeViewItem($aFileList[$Index], $FileView) ;-1 bo tablica TreeItem zaczyna sie od indeksu 0
		GUICtrlSetState($TreeItem[$Index - 1], $GUI_CHECKED) ;jak wyzej
	Next
EndFunc   ;==>odrazu

( ͡° ͜ʖ ͡°)

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...