Hallo,
habe eine Listview mit Checkboxen, möchte aber ein paar Items nicht auswählbar machen. Mit GuiCtrlSetState funktioniert es scheinbar nicht, mit _GUICtrlListView_SetItemState habe ich keine Ideen für die Parameter.
Wäre euch dankbar.
Listview mit Checkboxen, einzelne Items disablen
-
- [ offen ]
-
blubbstar -
1. April 2010 um 14:06 -
Geschlossen -
Erledigt
-
-
könnteste n kurzes beispielscript posten?
hab bis jetz noch nicht mit Listviews die checkboxen enthalten gearbeitet
-
Klar,
Spoiler anzeigen
[autoit]#include <WindowsConstants.au3>
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
#include <GUIListView.au3>
$GUI = GUICreate("GUI", 600, 300)
$ListView = GUICtrlCreateListView("Test", 10, 10, 580, 280, $WS_BORDER, $LVS_EX_FULLROWSELECT + $LVS_EX_CHECKBOXES)
_GUICtrlListView_SetColumnWidth($ListView, 0, $LVSCW_AUTOSIZE_USEHEADER)Local $aTest[5] = ["test1","test2","test3","test4", "test5"]
[/autoit] [autoit][/autoit] [autoit]
For $i = 0 to 4
GUICtrlCreateListViewItem($aTest[$i], $ListView)
GUICtrlSetState(-1, $GUI_DISABLE) ; <-- zeigt keine Wirkung, Checkboxen noch anklickbar.
NextGUISetState(@SW_SHOW)
[/autoit]
While True
$msg = GUIGetMsg()
switch $msg
Case -3
Exit
EndSwitch
WEnd -
Hallo blubstar,
dieses Skript wurde noch nie gestartet, denn
Code
Alles anzeigen>"C:\Programme\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.exe" /run /prod /ErrorStdOut /in "C:\Programme\AutoIt3\Examples\Tests\lv_DisableItems.au3" /autoit3dir "C:\Programme\AutoIt3" /UserParams +>19:52:31 Starting AutoIt3Wrapper v.2.0.1.24 Environment(Language:0407 Keyboard:00000407 OS:WIN_XP/Service Pack 3 CPU:X86 OS:X86) >Running AU3Check (1.54.19.0) from:C:\Programme\AutoIt3 C:\Programme\AutoIt3\Examples\Tests\lv_DisableItems.au3(11,34) : WARNING: $GUI_DISABLE: possibly used before declaration. GUICtrlSetState(-1, $GUI_DISABLE) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ C:\Programme\AutoIt3\Examples\Tests\lv_DisableItems.au3(11,34) : ERROR: $GUI_DISABLE: undeclared global variable. GUICtrlSetState(-1, $GUI_DISABLE) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ C:\Programme\AutoIt3\Examples\Tests\lv_DisableItems.au3 - 1 error(s), 1 warning(s) !>19:52:33 AU3Check ended.rc:2 >Exit code: 0 Time: 4.568
so fuktionierts
Spoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
#include <WindowsConstants.au3>
#include <GUIListView.au3>
$GUI = GUICreate("GUI", 600, 300)
$ListView = GUICtrlCreateListView("Test", 10, 10, 580, 280, $WS_BORDER, BitOR($LVS_EX_FULLROWSELECT , $LVS_EX_CHECKBOXES))
_GUICtrlListView_SetColumnWidth($ListView, 0, $LVSCW_AUTOSIZE_USEHEADER)Local $aTest[5] = ["test1", "test2", "test3", "test4", "test5"]
[/autoit] [autoit][/autoit] [autoit]
For $i = 0 To 4
GUICtrlCreateListViewItem($aTest[$i], $ListView)
GUICtrlSetState(-1, $GUI_DISABLE) ; <-- zeigt keine Wirkung, Checkboxen noch anklickbar.
NextGUISetState(@SW_SHOW)
[/autoit]
While True
$msg = GUIGetMsg()
Switch $msg
Case -3
Exit
EndSwitch
if _GUICtrlListView_GetItemChecked($ListView, 2) Then _GUICtrlListView_SetItemChecked($ListView, 2, False)
WEndTest3 ist nicht anwählbar,
mfg (Auto)Bert
-
Hi,
es ist halt auch nur ein Workaround und keine Musterlösung, aber die gibt es wohl nicht :(. Naja, trotzdem danke dir. -
- Offizieller Beitrag
Vielleicht findest du hier was du brauchst: http://www.autoitscript.com/forum/index.php?showtopic=101864&st=0&p=723757&hl=GUICtrlCreateListViewItem%20disable&fromsearch=1&#entry723757