Avatar billede charlie2000 Nybegynder
30. maj 2005 - 11:53 Der er 14 kommentarer og
1 løsning

listbox med skjult værdi

hej


er der nogen der ved hvordan man kan give en listbox en skjult værdi.

eller måske et alternativ til en listbox

eks.

en list box med teksten: "test1" skal have værdien 34 som skal være skjult for brugeren.
Avatar billede jpk Nybegynder
30. maj 2005 - 11:57 #1
Hvilket miljø/libs bruger du?

Er det Windows/Linux/andet?
Er det ren C/C++ eller bruger du MFC/.NET/andet?
Avatar billede charlie2000 Nybegynder
30. maj 2005 - 12:08 #2
bruger borland c++ builder
Avatar billede charlie2000 Nybegynder
30. maj 2005 - 12:17 #3
version 6 på en windows maskine.
Avatar billede pous Nybegynder
30. maj 2005 - 13:02 #4
Prøv f.eks. test1->Tag=34;
Avatar billede charlie2000 Nybegynder
30. maj 2005 - 13:14 #5
jeg kan da ikke sætte et tag på hver linie i listboxen eller hvad?
Avatar billede pous Nybegynder
30. maj 2005 - 13:18 #6
Nej jeg var lidt for hurtig. Jeg troede at det bare var en enkelt værdi for hele boksen.
Avatar billede charlie2000 Nybegynder
30. maj 2005 - 13:32 #7
har du nogle andre ider?
Avatar billede jpk Nybegynder
30. maj 2005 - 13:35 #8
En Windows listbox har faktisk en itemdata property (32bit værdi) for hvert element i listen. Den burde også kunne sættes i borland c++, prøv at se om der ikke er en attribut med et lignende navn.
Avatar billede pous Nybegynder
30. maj 2005 - 13:35 #9
Du kan lave en vector-liste, og når du så klikker på et "item" i listboksen, finder du tilsvarende værdi i vector'en.
her er lidt kode:
//---------------------------------------------------------------------------
void __fastcall TForm1::FormActivate(TObject *Sender)
{
// her sætter jeg 3 int's ind i vektoren
  TalListe.push_back(1);
  TalListe.push_back(2);
  TalListe.push_back(5);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ListBox1Click(TObject *Sender)
{
  // Jeg har på forhånd lavet en listboks med 3 items
  int test=KodeListe[ListBox1->ItemIndex];
  ShowMessage(IntToStr(test));
}
//---------------------------------------------------------------------------

I din forms private: kan du skrive følgende

vector<int> TalListe;
Avatar billede charlie2000 Nybegynder
30. maj 2005 - 13:50 #10
den kommer med fejl når jeg sætter det ind.

fejl:
[C++ Error] Unit1.h(21): E2303 Type name expected
[C++ Error] Unit1.h(21): E2139 Declaration missing ;
[C++ Error] Unit1.cpp(40): E2451 Undefined symbol 'KodeListe'
[C++ Error] Unit1.cpp(59): E2451 Undefined symbol 'TalListe'
Avatar billede pous Nybegynder
30. maj 2005 - 13:54 #11
Husk
#include <vector.h> i Unit1.cpp
... og så har jeg lavet en trykfejl. Der skal stå TalListe i stedet for det sted jeg skriver KodeListe
Avatar billede pous Nybegynder
30. maj 2005 - 13:58 #12
OBS!
#include <vector.h> // før Unit1.h
#include "Unit1.h"
Avatar billede charlie2000 Nybegynder
30. maj 2005 - 13:58 #13
hey hey hey du er super cool

takker mange gange:-D

smid et svar
Avatar billede pous Nybegynder
30. maj 2005 - 14:02 #14
Tak
Avatar billede ksoren Nybegynder
30. maj 2005 - 14:12 #15
Jeg ville benytte jpk's metode med itemdata. Så er der altid styr på tingene ved sortering, tilføjelse, fjernelse eller andet sjov i listboksen
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