Avatar billede spectual Nybegynder
24. juni 2002 - 09:59 Der er 11 kommentarer

Et spørgsmål om ikoner i et TListView

Davs.

Jeg har et TListview med en ting i, der har et ikon.

Hvordan kan man lave det sådan, at det ikon skifter,
når tingen bliver valgt?

Jeg kan IKKE bruge en løsning á la:

procedure TForm1.ListView1SelectItem(Sender: TObject; Item: TListItem;
  Selected: Boolean);
begin
if selected then (sender as tlistview).items [0].ImageIndex := 1
else (sender as tlistview).items [0].ImageIndex := 1;
end;

- - - -

Jeg vil gerne have en løsning, der *kun* involverer  *designtime* (når programmet *ikke* kører).
Avatar billede martinlind Nybegynder
24. juni 2002 - 11:19 #1
SelectedIndex := 2; mener jeg det hedder ellers kig i hjælpen på TTreeNode

/Martin
Avatar billede dl Nybegynder
24. juni 2002 - 11:29 #2
prøv at se lige på denne kode.
TreeView1 har alle item den samme icon.


procedure TForm1.TreeView1Click(Sender: TObject);
begin
  TreeView1.Selected.ImageIndex := 1;
end;

procedure TForm1.TreeView1Deletion(Sender: TObject; Node: TTreeNode);
begin
  TreeView1.Selected.ImageIndex := 0;
end;

//dl
Avatar billede martinlind Nybegynder
24. juni 2002 - 11:38 #3
Du kan bruge :

ImageIndex, OverlayIndex, SelectedIndex, StateIndex

De indikerer alle sammen et "tilstand" på din node
Avatar billede spectual Nybegynder
24. juni 2002 - 11:54 #4
Ja... men nu er det her jo et listview.
Avatar billede spectual Nybegynder
24. juni 2002 - 11:55 #5
Den i snakker om er et Ttreeview. Lidt noget andet fordi listview ikke har propertien SelectedIndex.
Avatar billede martinlind Nybegynder
24. juni 2002 - 11:57 #6
Sorry, mig der sidder og sover :(
Avatar billede spectual Nybegynder
24. juni 2002 - 12:00 #7
Jeg er faktisk noget i tvivl om det overhovedet kan lade sig gøre.
Avatar billede dl Nybegynder
24. juni 2002 - 16:27 #8
Sorry. Men har lige se på sagen.
prøv lige denne kode:

procedure TForm1.ListView1SelectItem(Sender: TObject; Item: TListItem;
  Selected: Boolean);
begin
  IF Selected THEN
  BEGIN
    Item.ImageIndex := 1;
  END
  ELSE
  BEGIN
    Item.ImageIndex := 0;
  END;
end;

//dl
Avatar billede spectual Nybegynder
24. juni 2002 - 17:12 #9
tak for dit bud dl, men jeg må lige citere mig selv:

"Jeg vil gerne have en løsning, der *kun* involverer  *designtime* (når programmet *ikke* kører)."
Avatar billede martinlind Nybegynder
24. juni 2002 - 17:17 #10
Du må lave det med en StringGrid og noget ownerdraw

/Martin
Avatar billede dl Nybegynder
24. juni 2002 - 19:27 #11
k.
Men så lytter jeg lige med !

//dl
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