![]() |
Idee für Auswahlfunktion
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? |
AW: Idee für Auswahlfunktion
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:
Es wird so bei dir nicht funktionieren, denn da fehlen paar Funktionen, aber das Prinzip ist erkennbar
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; |
AW: Idee für Auswahlfunktion
Das Ganze lässt sich auch über den VirtualStringTree gut realisieren.
|
AW: Idee für Auswahlfunktion
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 :wink:
|
AW: Idee für Auswahlfunktion
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?
|
AW: Idee für Auswahlfunktion
Ich hab die Tipps schon verstanden, aber ich will einfach was anderes, also wenn jemand noch eine andere Idee hat..
|
AW: Idee für Auswahlfunktion
-Ein DBCtrlGrid mit Bildern und Infotexten kombiniert mit DB-Filtern ....
-"mundgeblasene" Klassen die Dir die Infos auf ein beliebiges Canvas Rendern -ein Cards-View im cxGrid (von TMS gibt es etwas ähnliches) -dynamisch erstelltes HTML in einem TWebbrowser ich schätze Deine Frage ist zu allgemein gestellt bei vermutlich recht genauen Vorstellungen Deinerseits wie es aussehen und funktionieren soll.... |
AW: Idee für Auswahlfunktion
Ja also wenn man so will, dann möchte ich im Prinzip so etwas wie das Personen-Such-System in Facebook
|
AW: Idee für Auswahlfunktion
Liste der Anhänge anzeigen (Anzahl: 1)
Also jetzt nicht falsch verstehen, außerdem habe ich verstanden, dass du die Listbox und Combobox ablehnst und respektiere es, aber sage bitte was dir an Listbox und Combobox nicht gefällt. Wenn wir wissen was dir daran nicht gefällt, dann können wir gezielter Tipps geben. Denn wenn ich die Personensuche von Facebook betrachte, dann sehe ich nur eine modifizierte ComboBox.
Der Tipp von Bummi mit Webseite ist auch ok, aber nicht so einfach umzusetzen wenn man es noch nie gemacht hat. Vielleicht mallst du es auf? //Edit Weil ich gerade Urlaub habe und nicht schlafen kann, hier ein Beispiel (siehe Anhang), das in etwa an die FB Suche angelehnt ist. |
AW: Idee für Auswahlfunktion
Ich glaube, es gefällt ihm nicht, weil er dann das Design selbst programmieren muss. Es ist doch auch viel einfacher und schöner, wenn man etwas vorgefertigtes hat, was man einfach nur auf die Form klatschen muss und -wupps- funktiniert alles.
Irgendwo habe ich eine TSocialNetwork-Komponentensammlung gesehen, da konnte man über eine Property ('Design' hieß die) aus 10 verschiedenen Designs wählen. Wo war das doch gleich? :stupid: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:45 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