Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Listbox /Grid usw. einfärben (https://www.delphipraxis.net/3137-listbox-grid-usw-einfaerben.html)

Hansa 25. Feb 2003 12:45


Listbox /Grid usw. einfärben
 
Hi,

ich hab hier was, wo ich weder weiß, wo ich ansetzen, noch wo ich suchen soll. Ich brauche eine Listbox, Grid oder so was, das ziemlich "breit" wird, also den Bildschirm von rechts nach links ausfüllt. Jetzt kann es vorkommen, daß verschiedene Zeilen recht leer sind, so daß die Zuordnung einer Zahl ganz links zu einer ganz rechts schwierig wird. Das könnte man schön lösen, sofern die Zeilen abwechselnd jeweils andere farben hätten, so wie bei dem grün/weißen Endlospapier. Ja, wer das kennt, weiß, was ich meine.

sakura 25. Feb 2003 12:59

Hi Hansa,

gleiche Lösung wie in dem aktuellen Thema "Listbox Einträge"
http://www.delphipraxis.net/viewtopic.php?t=3458

...:cat:...

oki 25. Feb 2003 16:04

Hi Hansa,

wenn Du mit dem Thema nicht weiterkommst melde Dich bei mir, dann helfe ich Dir direkt.

Schau auch mal auf den 21.02.03, da ist ein Thema mit Panels in TStatusBar nach dem gleichen Motto.

Gruß oki

Hansa 25. Feb 2003 18:30

hat denn da keiner einen Tip? Bin jetzt soweit, daß jede Zeile am besten mit Item bearbeitet wird. Also mit MOD 2 oder so. Nur: wie bringe ich dem Programm bei, jede zweite Zeile anders zu färben, wobei die Maximalanzahl nicht mal feststeht :?:

Luckie 25. Feb 2003 19:13

Wo ist das Pronlem? :shock: Listbox1.Items.Count dürfte dir doch was sagen oder?
Delphi-Quellcode:
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
  Rect: TRect; State: TOwnerDrawState);
var
  i : Integer;
begin
  for i := 0 to Listbox1.Items.Count do
  begin
    if Index mod 2 = 0 then
    begin
      Listbox1.Canvas.Brush.Color := clRed;
      Listbox1.Canvas.FillRect(Rect);
      Listbox1.Canvas.TextOut(Rect.Left, Rect.Top, Listbox1.Items[Index]);
    end
    else
      Listbox1.Canvas.TextOut(Rect.Left, Rect.Top, Listbox1.Items[Index]);
  end;
end;

Sharky 25. Feb 2003 20:36

Zitat:

Zitat von Luckie
Wo ist das Pronlem? ....

Hai,

wenn man es weiss ist es kein Problem!

Um zu ermitteln ob jede zweite Zeite "betroffen" ist hilft ein MOD 2 .. warum: weil ein MOD 2 bei einer geraden Zahl immer 0 als ergebniss liefert.

Der Verweiss auf einen andere Threas ist zwar Okay. Aber nur wenn dor erklärt wurdee warum es so geht :oops:

Sonnst Nutst es doch keinem.

Frei nach dem Motto:

Gebe einem Menschen Feuer, dann hat er es warm für einen Tag;
Zünde ihn an und er hat es warm für den Rest seines Lebens.

Frei nach Terry Pratechet!


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:56 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz