Avatar billede hasan Nybegynder
17. juni 2004 - 13:28 Der er 5 kommentarer og
1 løsning

listbox og farver

hvordan ændre jeg farven på EN linie i en listbox. Og ikke alle sammen, men f.eks kun på item 3

den her ændre det på dem alle samme:
listbox1.Font.Color := clred;


kan man ik gøre noget i denne stil??
listbox1.Items[3].font.color := clred;
Avatar billede snowball Novice
17. juni 2004 - 13:31 #1
Avatar billede dl Nybegynder
17. juni 2004 - 16:13 #2
Det var jo et godt svar!
Et som vi alle kan bruge.

//dl
Avatar billede hasan Nybegynder
17. juni 2004 - 16:31 #3
tak for linket

men kan ik helt finde ud af det :(

alle mine items for den samme farver, jeg kan godt tilføje nye items med en anden farve, med det er ik det jeg vil.

jeg har en listbox1 med nogle sti'er til nogle filer.
når mit program starter så køre den en lykke for at se om filen findes, hvis den gør så skal den bare tilføjes til listbox1, men hvis den IKKE findes så skal den også tilføjes, men så skal farven være rød.
Avatar billede jonat Nybegynder
18. juni 2004 - 12:07 #4
Under Form1.Create:
  ListBox1.Style := lbOwnerDrawFixed;

Under den procedure som flytter fra Listbox2 (hvor filerne står) til listbox1 (hvor filerne bliver flyttet hen farvet:

var I : integer;
begin
  ListBox1.Clear;
  For I := 0 to ListBox2.Items.Count - 1 do
  begin
    if not FileExists(ListBox2.Items[I]) then
      ListBox1.Items.AddObject(ListBox2.Items[I], Pointer(clRed))    // Hvis filen IKKE eksisterer
    else
      ListBox1.Items.AddObject(ListBox2.Items[I], Pointer(clBlack));  // Hvis filen eksisterer.
  end;

Og under ListBox1DrawItem:

  with Control as TListBox do
  begin
    Canvas.FillRect(Rect);
    Canvas.Font.Color := TColor(Items.Objects[Index]);
    Canvas.TextOut(Rect.Left + 2, Rect.Top, Items[Index]);
  end;

Og så gør den som du gerne vil have at den gør. Og bare giv snowball pointne, koderne er lavet ud fra det link som han har givet :-D

// Jonat.
Avatar billede hasan Nybegynder
19. juni 2004 - 16:36 #5
okay det virker :) har lige et spørgesmål mere, hvordan ændre jeg farven på item 3 uden at tilføje den som en ny item.

jeg har 10 item's i min listbox og så har jeg en button. når jeg så klikker på button så skal den ændre item 3's farve uden at tilføje den som et nyt Object
Avatar billede jonat Nybegynder
20. juni 2004 - 12:48 #6
Det ved jeg ikke hvordan man gør... Kan ikke lige gennemskue det, Du kan se om snowball ved det, jeg har på fornemmelsen han er bedre til delphi end mig :-)...

// Jonat.
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