Avatar billede smith1 Nybegynder
03. december 2004 - 16:57 Der er 7 kommentarer og
2 løsninger

Når MultiSelect er True

Hvorfor virker denne kode ikke når man har sat MultiSelect til True på min Listbox??

  if listbox.ItemIndex = -1 then
  begin
    edit1.Enabled := false;
  end else begin
    edit1.Enabled := true;
  end;

jeg har lagt mærke til at min listbox.itemindex er = 0 når jeg ikke har selected noget!?! virker fint hvis MultiSelect := false
Avatar billede roz Nybegynder
03. december 2004 - 20:59 #1
Får du en fejlbesked?'
Ellers prøv at ændre
if listbox.ItemIndex = -1 then
til
if listbox1.Itemindex = 0 then
Avatar billede kammeyer Nybegynder
04. december 2004 - 15:41 #2
Jf. hjælpen bør den være -1 i begge tilfælde - sådan som jeg tolker det der står.

Smid evt. en Listbox.Itemindex := -1; ind i din forms OnCreate event - det har jeg testet og så er den helt fjong.

Jeg lavede også en CheckBox der skiftede Listbox mellem MultiSelect true og false. Property for listbox er multiselect = false i starten.
Efter tre ganges klik blev ItemIndex = 0 for begge tilstande - uden at der har været valgt noget. OG med efterfølgende klik, så når multiselect blev sat til OFF så blev første punkt rent faktisk fremhævet som var det valgt !?! Så den kræver i høj grad en del manuel vedligeholdelse.
Avatar billede smith1 Nybegynder
05. december 2004 - 14:10 #3
det virker ikke :(

det virker hvis item 0 er selected!! edit1.Enabled := false; når item 0 er selected, men den skal være true fordi en item er jo selected.

og når ingen item er selcted så er edit1.Enabled := true;?? den skal være false!
da ingen af item er selected.

som sagt kan jeg ikke bruge "if listbox1.Itemindex = 0 then" fordi 0 er jo den første item.

jeg har også prøvet nil og null, er det mig der gør det forkert eller er det en fejl i Delphi?(det er det sikker ikke)
Avatar billede lavang Nybegynder
06. december 2004 - 01:30 #4
hej!
Du skal sætte property ExtendedSelect til False ...

du kan ikke få itemIndex til at blive -1 selvom ingen item er selected, mon er det ikke lige meget.
Avatar billede smith1 Nybegynder
06. december 2004 - 14:06 #5
ExtendedSelect til False. Hjælper jo ikke?

Hvis jeg ikke kan få ItemIndex til at blive -1 hvordan skal jeg så løse dette prob?
Avatar billede lavang Nybegynder
06. december 2004 - 18:02 #6
jeg er helt sikkert på at extendedSelect sat til false virker for jeg har lille demo program ligger her på min computer...
Avatar billede lavang Nybegynder
06. december 2004 - 18:24 #7
problemmet kan løses ved at teste på boolean , således

Edit1.Enabled := listbox1.selcount >= 1;

jeg håber det vil virke som du har forventet :)
Avatar billede lavang Nybegynder
06. december 2004 - 18:28 #8
du skal huske at sætte ExtendedSelect til False og MultiSelect til True ellers virker det ikke :.
Avatar billede smith1 Nybegynder
06. december 2004 - 19:49 #9
:)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester