Thema: Delphi Suche in ListBoxes

Einzelnen Beitrag anzeigen

Loni

Registriert seit: 31. Mär 2007
77 Beiträge
 
#9

Re: Suche in ListBoxes

  Alt 1. Apr 2007, 11:06
EDIT : Danke das werde ich auch mit einbauen

ok jetzt alles (Farbiges unterlegen und Zeilensprung zum gesuchten Wort) aber der ist immer noch zu case sensitive weil der fast nichts findet was ich eingebe auser ich tippe es genau so ein und wenn das Wort oder der Buchstabe mehrmals auftauchen zeigt der nur den lezten Eintrag an deswegen wäre ne weiter suchfunktion auch ganz cool
ich weiß ich gehe euch bestimmt schon auf die nerven aber VIELEN DANK

quellcode bis jetzt

Delphi-Quellcode:
procedure TForm6.ListBoxHilfeAllgemeinDrawItem(Control: TWinControl;
  Index: Integer; Rect: TRect; State: TOwnerDrawState);
begin
  with (Control as TListBox).Canvas do
  begin
    if not (odFocused in State) then
    begin
      if Index = Form6.ListBoxHilfeAllgemein.Tag then // markiertes Item
      begin
        Brush.Color:= clRed;//graphics.clHighlight;
        //Font.Color:= graphics.clHighlightText;
      end else
      begin
        Brush.Color := (Control as TListBox).Color;
        Font.Color:= graphics.clBlack;
      end;
      FillRect(Rect);
      TextOut(Rect.Left + 2, Rect.Top, (Control as TListBox).Items[Index]);
    end;
  end;
end;

procedure TForm6.ListBoxHilfeAnwendungenDrawItem(Control: TWinControl;
  Index: Integer; Rect: TRect; State: TOwnerDrawState);
begin
  with (Control as TListBox).Canvas do
  begin
    if not (odFocused in State) then
    begin
      if Index = Form6.ListBoxHilfeAllgemein.Tag then // markiertes Item
      begin
        Brush.Color:= clRed;//graphics.clHighlight;
        //Font.Color:= graphics.clHighlightText;
      end else
      begin
        Brush.Color := (Control as TListBox).Color;
        Font.Color:= graphics.clBlack;
      end;
      FillRect(Rect);
      TextOut(Rect.Left + 2, Rect.Top, (Control as TListBox).Items[Index]);
    end;
  end;
end;


procedure TForm6.FormCreate(Sender: TObject);
begin

  ListBoxHilfeAllgemein.Tag:= -1;
  ListBoxHilfeAllgemein.Style := lbOwnerDrawFixed;
  ListBoxHilfeAnwendungen.Tag:= -1;
  ListBoxHilfeAnwendungen.Style := lbOwnerDrawFixed;
end;
und
Delphi-Quellcode:
procedure TForm4.BitBtnSucheClick(Sender: TObject);
begin
Suchwort:=EdSuchen.Text;
if LaInXSuchen.Caption='In // Allgemeine Hilfethen
begin
for i:=1 to Form6.ListBoxHilfeAllgemein.items.count-1 do
if pos(Suchwort, Form6.ListBoxHilfeAllgemein.items[i-1]) > 0 then
begin
Form6.ListBoxHilfeAllgemein.ItemIndex := (i-1);
Form6.ListBoxHilfeAllgemein.Tag := (i-1);
Form6.ListBoxHilfeAllgemein.Visible:=true;
Form6.ListBoxHilfeAnwendungen.Visible:=false;
Form6.Visible:=true;
end;
end
else
if LaInXSuchen.Caption='In // MiniPaint Anwendungenthen
begin
for i:=1 to Form6.ListBoxHilfeAnwendungen.items.count-1 do
if pos(Suchwort, Form6.ListBoxHilfeAnwendungen.items[i-1]) > 0 then
Form6.ListBoxHilfeAnwendungen.ItemIndex := (i-1);
Form6.ListBoxHilfeAnwendungen.Tag := (i-1);
Form6.ListBoxHilfeAnwendungen.Visible:=true;
Form6.ListBoxHilfeAllgemein.Visible:=false;
Form6.Visible:=true;
end;
end;
  Mit Zitat antworten Zitat