Skocz do zawartości

[Problem] Listbox i zaznaczanie kilku pozycji naraz


Rekomendowane odpowiedzi

Witam :D

 

Mam następujący problem.

 

Potrzebuję jakiegoś sposobu na zaznaczanie kilku pozycji naraz w listboxie. Szukałem po stylach i helpie, ale nic nie wyczytałem. Wiem że są do tego funkcje, ale to user musi sobie zaznaczyć pozycje.

Innym problemem jest to, że listbox automatycznie sortuje dane alfabetycznie. Jak to wyłączyć?

 

Macie tutaj przykładowy kod na którym można pracować:

#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <Array.au3>

$FORMATKA = GUICreate("Test", 354, 246)
$LISTBOX = GUICtrlCreateList("", 8, 8, 337, 201)
GUICtrlSetData(-1, "Pozycja 1|Pozycja 2|Pozycja 3|Pozycja 4|Pozycja 5|Pozycja 6")
$KLIKNIJ = GUICtrlCreateButton("Kliknij!", 8, 216, 75, 25)
$WYJDZ = GUICtrlCreateButton("Wyjdź", 272, 216, 75, 25)
GUISetState(@SW_SHOW)

While 1
   $nMsg = GUIGetMsg()
   Switch $nMsg
       Case $GUI_EVENT_CLOSE
           Exit
       Case $WYJDZ
           Exit
       Case $KLIKNIJ
           _GUICtrlListBox_BeginUpdate($LISTBOX) ;rozpoczęcie operacji na listboxie
           $zaznaczone = _GUICtrlListBox_GetSelItems($LISTBOX) ;odczytanie zaznaczonych pozycji
           _ArrayDisplay($zaznaczone) ;pokazanie tablicy z zaznaczonymi pozycjami
           _GUICtrlListBox_EndUpdate($LISTBOX) ;zakonczenie operacji na listboxie
   EndSwitch
WEnd

 

Z góry wam dzięki za pomoc :)

846331404756772371599.jpeg
Odnośnik do komentarza
Udostępnij na innych stronach

Bez sortowania:

#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <Array.au3>
#include <WindowsConstants.au3>

$FORMATKA = GUICreate("Test", 354, 246)
$LISTBOX = GUICtrlCreateList("", 8, 8, 337, 201, BitOR($WS_BORDER, $WS_VSCROLL))
GUICtrlSetData(-1, "D|A|F|C|E|B")
$KLIKNIJ = GUICtrlCreateButton("Kliknij!", 8, 216, 75, 25)
$WYJDZ = GUICtrlCreateButton("Wyjdź", 272, 216, 75, 25)
GUISetState(@SW_SHOW)
While 1
 $nMsg = GUIGetMsg()
 Switch $nMsg
		 Case $GUI_EVENT_CLOSE
				 Exit
		 Case $WYJDZ
				 Exit
		 Case $KLIKNIJ
				 _GUICtrlListBox_BeginUpdate($LISTBOX) ;rozpoczęcie operacji na listboxie
				 $zaznaczone = _GUICtrlListBox_GetSelItems($LISTBOX) ;odczytanie zaznaczonych pozycji
				 _ArrayDisplay($zaznaczone) ;pokazanie tablicy z zaznaczonymi pozycjami
				 _GUICtrlListBox_EndUpdate($LISTBOX) ;zakonczenie operacji na listboxie
 EndSwitch
WEnd

obraz24.png


Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

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

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający forum [Problem] Listbox i zaznaczanie kilku pozycji naraz   0 użytkowników
    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...