LISTBOX kolor

0

Witam mam kolejne pytanie Czy jest możliwe jeśli tak to jak to zrobić by
LISTBOX
Items[1] ,[3] były jakoś wyróżnione |przez font lub podświetlenie na np zielono [2],[4] na czerwono a reszta normalnie ??
przykład

Monika ----KOLOR CZERWONY
Adam ----KOLOR NIEBIESKI
Anna ----KOLOR CZERWONY
Micha ----KOLOR NIEBIESKI
Pies ----KOLOR Zwykłe // dobre :)
Tomek ----KOLOR NIEBIESKI

by wyglądało to mniej wiecej tak

0

Wykorzystaj zdarzenie OnDrawItem

0
Młody napisał(a)

Wykorzystaj zdarzenie OnDrawItem

jestem początkującym możne coś więcej :]

0
Młody napisał(a)

http://delphi.about.com/cs/adptips2002/a/bltip0602_4.htm

var
myColor: TColor;
myBrush: TBrush;
begin
myBrush := TBrush.Create;
with (Control as TListBox).Canvas do
begin
if not Odd(Index) then
myColor := clSilver
else
myColor := clYellow;

 myBrush.Style := bsSolid;
 myBrush.Color := myColor;
 Windows.FillRect(handle, Rect, myBrush.Handle) ;
 Brush.Style := bsClear;
 TextOut(Rect.Left, Rect.Top,
         (Control as TListBox).Items[Index]) ;
 MyBrush.Free;

end;

to jest kod ze stronki mam pytanie jak zrobić "zmodyfikować | by 3,4,7 było na żółto a 2,6,9,10 na zielono a reszta normal ... dzieki i przepraszam za trucie

0

O jejku jejeczku, aż ręce opadają. Takie pytania do Newbie idź się poopalaj czy coś, programowanie jest nie dla Ciebie skoro mając link
do przykładowego kodu ze zmienną Index nie potrafisz sobie dostosować kodu. Także programowanie nie jest dla Ciebie niestety. Ech,
masz poniżej gotowca, ale i tak się niczego nie nauczysz i zaraz się zacznie 100 pytan do. Ja chętnie pomagam na ow forum, ale jejku
bez przesady. Trochę samodzielności i logicznego myślenia by się przydało Tobie, a tymbardziej jeśli zostałeś naprowadzony na kod ;/

var
  MyColor : TColor;
  MyBrush : TBrush;
begin
  MyBrush := TBrush.Create;
  with (Control as TListBox).Canvas do
  begin
    case Index of
      3, 4, 7 : MyColor := clYellow;
      2, 6, 9, 10 : MyColor := clGreen;
    else
      MyColor := (Control as TListBox).Color;
    end;
    MyBrush.Style := bsSolid;
    MyBrush.Color := MyColor;
    Windows.FillRect(handle, Rect, MyBrush.Handle);
    Brush.Style := bsClear;
    TextOut(Rect.Left, Rect.Top, (Control as TListBox).Items[Index]);
    MyBrush.Free;
  end;
end;
0

Dzieki i spokojnie ten kod potrzebny mi był do ozdoby pseudo programu ...
mam nad czym myśleć w programie wiec wolałem zapytać niż błądzić i tracić czas czy to takie dziwne

1 użytkowników online, w tym zalogowanych: 0, gości: 1