![]() |
Problem mit Listbox
Code:
Nun habe ich damit folgende Probleme:
procedure TFrame3.ListBox1Click(Sender: TObject);
var i:byte; begin for i := 0 to (ListBox1.Items.Count - 1) do begin try if ListBox1.Selected[i] then begin if ListBox1.Items.Strings[i] = 'BRAUN' then begin Label1.Color:=clMaroon; end; end; finally end; end; 1. Wenn man z.B. "BRAUN" in der Liste anklickt, wird das Label zwar braun, aber wenn man wieder "BRAUN" anwählt, wird es ja un-makiert, und bekommt den vorherigen wert. 2. Wenn man in die Listbox klickt, neben den text, so scrollt die listbox ganz nach unten. 3. Wurde der erste wert in der listbox makiert (aktiviert) und makiere ich dann den 2ten wert, so kann ich nur noch nachfolgende Werte makieren aber nicht mehr der 1ste.. also das is auch bei 2ten und 3ten...also ich kann vorige einträge zwar makieren, aber es passiert nichts mehr Den code oben habe ich nicht selbst geschrieben, den hab ich irgendwo gefunden, un da er nicht das macht, was ich gerne möchte... denke ich es gibt bestimmt noch eine ganz andere möglichkeit aktionen aus zu führen, wenn man einträge in der listbox makiert!? bin für jede hilfe dankbar gruß DH |
Moin DH,
schreibe in der ListBox, im ObjectInspector undter Items, folgende Begriffe: Nach jedem Enter! BRAUN ROT BLAU in der OnClick-Prozedur der ListBox, schreibst Du folgenden Code:
Delphi-Quellcode:
Bei jedem Click, nimmt das Label die jeweilige Farbe an. Und wenn man wieder auf die gleiche Farbe drauf klickt, dann bleibt die Farbe.
procedure TForm1.ListBox1Click(Sender: TObject);
var i: integer; begin for i := 0 to ListBox1.Items.Count -1 do begin try if ListBox1.Selected[i] then begin if ListBox1.Items.Strings[i] = 'BRAUN' then begin Label1.Color := clMaroon; end else if ListBox1.Items.Strings[i] = 'ROT' then begin Label1.Color := clRed; end else if ListBox1.Items.Strings[i] = 'BLAU' then begin Label1.Color := clBlue; end; end; except ShowMessage('Ein Fehler ist aufgetreten!'); end; end; end; Btw: Deinen Code kannst Du gar nciht kompilieren, weil da ein end; gefehlt hat! Und was Du mit einem try..finally willst, ist auch nicht Klar, wenn da try..except, zum Fehler abfangen. Siehe Source. Deine Probleme verstehe ich nicht, oder da stimmt was ganz anderes nicht. Grüsse, Daniel :hi: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:14 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