AGB  ·  Datenschutz  ·  Impressum  







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

Idee für Auswahlfunktion

Ein Thema von DelphiUser1 · begonnen am 9. Okt 2012 · letzter Beitrag vom 28. Okt 2012
 
Popov
(Gast)

n/a Beiträge
 
#2

AW: Idee für Auswahlfunktion

  Alt 10. Okt 2012, 00: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 00:23 Uhr)
  Mit Zitat antworten Zitat
 


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