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

[Problem] Listbox i zaznaczanie kilku pozycji naraz


Rekomendowane odpowiedzi

Opublikowano

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
Opublikowano

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


Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...