|
| Sidste forsøg Fra : Henning Madsen |
Dato : 23-12-05 19:52 |
|
Følgende program virker OK
I de linier man klikker på bliver skriften rød, OK
Nu er problemet det at når man igen klikker på en linie med skriften rød
skal den blive sort? hvordan gør man det ?
Havde forestellet mig noget med venstre museknap til farven rød og højre
museknap til farven sort. Hvordan gør man det ?
NB der kan godt forekomme andre skriftfarver end sort og rød i ListBoksen.
Bruger Delphi 7 og XP og Style er sat til OwnerDrawFixed.
procedure TForm1.ListBox2DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
Var
T : Integer;
FCanvas: TCanvas;
Flags: LongInt;
begin
FCanvas:= TListBox(Control).Canvas;
FCanvas.FillRect(Rect);
For T := 0 To ListBox2.Items.Count -1 Do
If ListBox2.ItemIndex = (T) then FCanvas.Font.Color := clRed;
If Index < ListBox2.Items.Count then
begin
Flags := DrawTextBiDiModeFlags(DT_SINGLELINE or DT_VCENTER or
DT_NOPREFIX);
if not UseRightToLeftAlignment then
Inc(Rect.Left, 2)
else
Dec(Rect.Right,2);
DrawText(FCanvas.Handle,PChar(ListBox2.Items[Index]),Length(ListBox2.Items[Index]),Rect,Flags);
end;
end;
//------------------------------------------------------------------------------
procedure TForm1.FormShow(Sender: TObject);
begin
ListBox2.Items.Add('H Madsen');
ListBox2.Items.Add('B Madsen');
ListBox2.Items.Add('G Madsen');
ListBox2.Items.Add('D Madsen');
ListBox2.Items.Add('C Madsen');
ListBox2.Items.Add('E Madsen');
end;
//-------------------------------------------------------------------------------
end.
En forklaring på begynder nevue vel gøre mit julehumør meget bedre.
Men for Jer vel jeg ønske en rigtig god Jul og et godt nytår
med tak for den meget og gode hjælp i har ydet mig.
mvh
Henning
| |
x x (26-12-2005)
| Kommentar Fra : x x |
Dato : 26-12-05 13:33 |
|
Hej Henning,
jeg har svaret en anden Henning på en ældre tråd i samme gruppe. Jeg tror I
leder efter nogenlunde samme løsning. Det burde være forholdsvis nemt at
portere min løsning til din listbox.
Se Tråden StringGrid farver (24-11-2005, 19.22).... Hey, det er vist også
dig der spørger der *s*. Troede der stod Henning Hansen, men der står også
Henning Madsen.
Jeg håber du kan bruge min løsning.
/Brian
| |
|
|