AGB  ·  Datenschutz  ·  Impressum  







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

Idee für Auswahlfunktion

Ein Thema von DelphiUser1 · begonnen am 10. Okt 2012 · letzter Beitrag vom 28. Okt 2012
Antwort Antwort
DelphiUser1

Registriert seit: 15. Sep 2012
56 Beiträge
 
#1

Idee für Auswahlfunktion

  Alt 10. Okt 2012, 00:33
Hallo allerseits, ich habe heute eine Frage zu der Umsetzung für eine Auswahlfunktion.
Der User gibt in ein Edit-Feld den Namen der gesuchten Person ein. Bisher habe ich alle Personen die diesen Namen tragen einfach in ein Memofeld ausgeben lassen.
Jetzt will ich aber, dass der Benutzer eine übersichtliche Auswahlfunktion vorgesetzt bekommt, in der das Bild und der Name der Person zu sehen ist und wo er auf die entsprechenden Personen klicken kann um auf die Seite des jeweiligen zu kommen.
Hat Irgendjemand eine Idee welche Komponente dafür geeignet wäre bzw. wie man so etwas mit schönem Design und anschaulich gestalten kann?
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#2

AW: Idee für Auswahlfunktion

  Alt 10. Okt 2012, 01:12
Statt Editfeld nimmst du Combobox oder Listbox. Unter Style (bei Combobox Voreinstellung csDropDown, bei Listbox lbStandard) ändern in csOwnerDrawFixed oder lbOwnerDrawFixed und schon hast du Zugriff auf OnDrawItem und kannst du alles in das Item Zeichnen.

//Edit:

Hier ein kleines Beispiel für Listbox. Vorausgesetzt in der Listbox befinden sich Dateipfade und man hat die Funktion GetIconFromFile, werden die Pfade (obwohl immer noch vorhanden) als Dateinamen ausgegeben und die passenden Icons werden davorgestellt. Die sind hier zwar nur 16x16, man kann die Bilder aber auch größer machen.

Delphi-Quellcode:
procedure TfListBox_FileBox1.ListBox1DrawItem(Control: TWinControl;
  Index: Integer; Rect: TRect; State: TOwnerDrawState);
var
  TopDifTxt, TopDifIco: Integer; // Gleicht die Höhendifferenz aus
  FileName: String;
begin
  with (Control as TListbox) do
  begin
    if odSelected in State then
      Canvas.Font.Color := clInactiveCaptionText
    else
      Canvas.Font.Color := clWindowText;

    FileName := ExtractFileName(Items[Index]);

    TopDifTxt := (ItemHeight div 2) - (Canvas.TextHeight(Items[Index]) div 2);
    TopDifIco := (ItemHeight div 2) - (16 div 2);

    Canvas.TextRect(Rect, Rect.Left + 16 + 2 + 2, Rect.Top + TopDifTxt,
      ExtractFileName(Items[Index]));

    Canvas.Draw(Rect.Left + 2, Rect.Top + TopDifIco,
      GetIconFromFile(Items[Index], True));
  end;
end;
Es wird so bei dir nicht funktionieren, denn da fehlen paar Funktionen, aber das Prinzip ist erkennbar

Geändert von Popov (10. Okt 2012 um 01:23 Uhr)
  Mit Zitat antworten Zitat
nuclearping

Registriert seit: 7. Jun 2008
708 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

AW: Idee für Auswahlfunktion

  Alt 10. Okt 2012, 02:59
Das Ganze lässt sich auch über den VirtualStringTree gut realisieren.
  Mit Zitat antworten Zitat
DelphiUser1

Registriert seit: 15. Sep 2012
56 Beiträge
 
#4

AW: Idee für Auswahlfunktion

  Alt 10. Okt 2012, 11:06
Danke erstmal für die Mühe, aber gibt es nicht noch eine schönere Methode. Also dieses Art und Weise hätte ich mir jetzt für den Notfall aufgehoben, weil ich sie nicht so anschaulich finde. Also mein Projekt ist im Prinzip ein Social Network und da lege ich doch sehr viel Wert auf das Design
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#5

AW: Idee für Auswahlfunktion

  Alt 10. Okt 2012, 13:38
Was meinst du mit Schönere? Die Anderen machen es auch nicht anders. Damit ist alles möglich, in allen Formen und allen Farben. Bist du sicher, dass du die Tipps verstanden hast?
  Mit Zitat antworten Zitat
DelphiUser1

Registriert seit: 15. Sep 2012
56 Beiträge
 
#6

AW: Idee für Auswahlfunktion

  Alt 10. Okt 2012, 22:58
Ich hab die Tipps schon verstanden, aber ich will einfach was anderes, also wenn jemand noch eine andere Idee hat..
  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 02:19 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