AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Schriftfarbe in Listbox

Ein Thema von Hansa · begonnen am 24. Aug 2004 · letzter Beitrag vom 7. Nov 2004
Antwort Antwort
Seite 2 von 2     12   
paelesoft

Registriert seit: 3. Jul 2004
37 Beiträge
 
Delphi 7 Professional
 
#11

Re: Schriftfarbe in Listbox

  Alt 7. Nov 2004, 20:11
@Thornberry^^
1. Die Farbe soll aus der Registry kommen.
2. Rot auf rotem Grund???

------------------------------------------------------------------------------------

Natürlich muss ein Textout erfolgen. Also

Delphi-Quellcode:
procedure TForm1.Listbox1DrawItem(Control: TWinControl;
  Index: Integer; Rect: TRect; State: TOwnerDrawState);
// "regist" ist in TForm1.FormCreate initialisiert worden?!
var Farbe : TColor;
begin
  { ... wenn Hintergrundfarbe verändert werden soll, dann siehe ^^^ }
  Listbox1.Canvas.FillRect(Rect);
  Farbe:=regist.ReadInteger('Name_'+IntToStr(Index)+'_color');
  Listbox1.Font.Color:=Farbe;
  { ... eventuelle Formatierungen ... oder sonstige Manipulationen an Texten oder Stilen....}
  Listbox1.Canvas.TextOut(Rect.Left, Rect.Top, Listbox1.Items[Index]);
end;
Gruß Erik
  Mit Zitat antworten Zitat
Nicodius

Registriert seit: 25. Apr 2003
Ort: Graz
2.234 Beiträge
 
Delphi 2006 Architect
 
#12

Re: Schriftfarbe in Listbox

  Alt 7. Nov 2004, 20:35
Zitat von paelesoft:
@Thornberry^^
2. Rot auf rotem Grund???

den code ändern kannst du hoffentlich aber schon
Nico Müller
  Mit Zitat antworten Zitat
Aike

Registriert seit: 2. Okt 2004
319 Beiträge
 
#13

Re: Schriftfarbe in Listbox

  Alt 7. Nov 2004, 20:49
Vielen Dank für eure Hilfe! Nach zwei Stunden hat 's funktioniert

Delphi-Quellcode:
  regist:=TRegistry.Create;
  regist.RootKey:=HKEY_CURRENT_USER;
  regist.OpenKey(...,true);
  regist.GetValueNames(temp);

  Listbox1.Canvas.Brush.Color := clWhite;

  for i:=0 to temp.Count - 1 do
  begin
    if regist.ReadString('Name'+IntToStr(i))=Listbox1.Items[Index] then
    begin
      Farbe:=regist.ReadInteger('Name'+IntToStr(i)+'color');
      lstbxChannelsCPC.Canvas.Pen.Color := Farbe;
      lstbxChannelsCPC.Canvas.FillRect(Rect);
      lstbxChannelsCPC.Canvas.Font.Color := Farbe;
      lstbxChannelsCPC.Canvas.TextOut(Rect.Left, Rect.Top, Listbox1.Items[Index]);
    end;
  end;
Achim
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz