AGB  ·  Datenschutz  ·  Impressum  







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

Problem mit Listbox

Ein Thema von DaHooL2k · begonnen am 1. Jan 2003 · letzter Beitrag vom 2. Jan 2003
Antwort Antwort
DaHooL2k

Registriert seit: 1. Jan 2003
8 Beiträge
 
#1

Problem mit Listbox

  Alt 1. Jan 2003, 23:36
Code:
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;
Nun habe ich damit folgende Probleme:

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
ViSiT: -=[ http://www.DaHooL2k.de ]=-
  Mit Zitat antworten Zitat
Daniel B
(Gast)

n/a Beiträge
 
#2
  Alt 2. Jan 2003, 00:28
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:
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] = 'BRAUNthen
        begin
          Label1.Color := clMaroon;
        end
        else if ListBox1.Items.Strings[i] = 'ROTthen
        begin
          Label1.Color := clRed;
        end
        else if ListBox1.Items.Strings[i] = 'BLAUthen
        begin
          Label1.Color := clBlue;
        end;
      end;
    except
      ShowMessage('Ein Fehler ist aufgetreten!');
    end;
  end;
end;
Bei jedem Click, nimmt das Label die jeweilige Farbe an. Und wenn man wieder auf die gleiche Farbe drauf klickt, dann bleibt die Farbe.

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
  Mit Zitat antworten Zitat
Antwort Antwort


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 20:42 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