Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Idee für Auswahlfunktion (https://www.delphipraxis.net/170910-idee-fuer-auswahlfunktion.html)

DelphiUser1 9. Okt 2012 23:33

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?

Popov 10. Okt 2012 00:12

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

nuclearping 10. Okt 2012 01:59

AW: Idee für Auswahlfunktion
 
Das Ganze lässt sich auch über den VirtualStringTree gut realisieren.

DelphiUser1 10. Okt 2012 10:06

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:

Popov 10. Okt 2012 12:38

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?

DelphiUser1 10. Okt 2012 21:58

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..

Bummi 10. Okt 2012 22:37

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....

DelphiUser1 10. Okt 2012 23:22

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

Popov 11. Okt 2012 00:20

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.

Furtbichler 11. Okt 2012 06:58

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 12:47 Uhr.
Seite 1 von 3  1 23      

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