AGB  ·  Datenschutz  ·  Impressum  







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

Komponente gesucht

Ein Thema von devnull · begonnen am 5. Mai 2004 · letzter Beitrag vom 7. Mai 2004
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von devnull
devnull

Registriert seit: 5. Okt 2003
362 Beiträge
 
Delphi 7 Personal
 
#1

Komponente gesucht

  Alt 5. Mai 2004, 17:19
Hi,
also ich hab vor, ein Menü zu erstellen, indem Programme aufgelistet werden.
Das ganze soll wie in dem Screeni aussehen, und auf Mausklicks reagieren können (also
muss jede Zeile bzw. jedes Proggi auf Mausklick reagieren).
Welche Komponente brauch ich denn da?

PS: Das is mit einem Bildeditor gezeichnet.

mfg
devnull
Miniaturansicht angehängter Grafiken
screenshot_202.jpg  
-- Never change a running system --
  Mit Zitat antworten Zitat
Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#2

Re: Komponente gesucht

  Alt 5. Mai 2004, 17:21
Hmmm, vielleicht einfach eine Listbox? Geht das?
Julian J. Pracht
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#3

Re: Komponente gesucht

  Alt 5. Mai 2004, 17:21
Hi!

Wie wäre es mit einer Listbox-ähnlichen Komponente? Schonmal bei Torry gesucht?

Ciao fkerber
Frederic Kerber
  Mit Zitat antworten Zitat
Benutzerbild von Leuselator
Leuselator

Registriert seit: 18. Mär 2003
Ort: Berlin
589 Beiträge
 
Delphi 8 Architect
 
#4

Re: Komponente gesucht

  Alt 5. Mai 2004, 17:57
Schau Dir mal die TScrollBox an (OH), zu finden auf der Palette "Zusätzlich" - mit der kannst Du das realisieren denke ich.
Gruß
Tim Leuschner
Programmierer = moderner Sysiphos: stets wenn er meint, den Stein seiner Dummheit auf den Berg des Wissens gewuchtet zu haben, erblickt er einen völlig neuen Aspekt und der Dummfels poltert mit Getöse zurück ins Tal der Unwissenheit...
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: Komponente gesucht

  Alt 5. Mai 2004, 18:39
TListBox mit Ownerdraw und Events OnDrawItem und OnMeasureItem dürfte reichen.
  Mit Zitat antworten Zitat
Benutzerbild von devnull
devnull

Registriert seit: 5. Okt 2003
362 Beiträge
 
Delphi 7 Personal
 
#6

Re: Komponente gesucht

  Alt 5. Mai 2004, 18:54
Gibts da auch irgendwo einleuchtende Beispiele?
-- Never change a running system --
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: Komponente gesucht

  Alt 5. Mai 2004, 19:49
Ein Formular mit ListBox, Edit und Button-Control und unteren Code sollte dir das prinzip verdeutlichen.
Das Bild mußt Du natürlich selbst noch einzeichnen, sollte aber auch kein Problem darstellen.

Code:
type
  TForm1 = class(TForm)
    ListBox1: TListBox;
    Edit1: TEdit;
    Button1: TButton;
    procedure ListBox1MeasureItem(Control: TWinControl; Index: Integer;
      var Height: Integer);
    procedure ListBox1DrawItem(Control: TWinControl; Index: Integer;
      Rect: TRect; State: TOwnerDrawState);
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.ListBox1MeasureItem(Control: TWinControl; Index: Integer;
  var Height: Integer);
begin
  Height := Index * 10;
end;

procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
  Rect: TRect; State: TOwnerDrawState);
var
  Height: Integer;
begin
  Height := ListBox1.Canvas.TextHeight(ListBox1.Items[Index]);

  ListBox1.Canvas.FillRect(Rect);
  ListBox1.Canvas.Font.Size := MulDiv(ListBox1.Canvas.Font.Size, Index*10, Height);
  ListBox1.Canvas.TextOut(Rect.Left, Rect.Top, ListBox1.Items[Index]);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ListBox1.Items.Add(Edit1.Text);
end;
  Mit Zitat antworten Zitat
Benutzerbild von devnull
devnull

Registriert seit: 5. Okt 2003
362 Beiträge
 
Delphi 7 Personal
 
#8

Re: Komponente gesucht

  Alt 6. Mai 2004, 18:28
Hi,
danke für deine AW. Ich hab aber tatsächlich ein Problem:
Wie bekomm ich denn die Bilder da rein???

Danke schonmal im voraus
-- Never change a running system --
  Mit Zitat antworten Zitat
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#9

Re: Komponente gesucht

  Alt 6. Mai 2004, 18:59
Zitat von devnull:
Hi,
danke für deine AW. Ich hab aber tatsächlich ein Problem:
Wie bekomm ich denn die Bilder da rein???

Danke schonmal im voraus
Selber auf die Canvas malen
I come from outer space to save the human race
  Mit Zitat antworten Zitat
Benutzerbild von devnull
devnull

Registriert seit: 5. Okt 2003
362 Beiträge
 
Delphi 7 Personal
 
#10

Re: Komponente gesucht

  Alt 7. Mai 2004, 17:56

Ich hab mal ein bisschen rumgespielt, bekomme aber absolut kein Bild (welches Format, Typ?) rein.

Source aus Delphi-Hilfe:
Delphi-Quellcode:
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
  Rect: TRect; State: TOwnerDrawState);
var Bitmap: TBitmap; { Temporäre Variable für Bitmap }
    Offset: Integer; { Offset für Text }
begin
   with (Control as TListBox).Canvas do { Ausgabe in Zeichenfläche der Liste, nicht im Formular }
   begin
   FillRect(Rect); { Rechteck löschen }
   Offset := 2; { Standard-Offset }
   // Was macht denn die nachfolgende Zeile???
        Bitmap := TBitmap((Control as TListBox).Items.Objects[Index]); { Bitmap abrufen }
   if Bitmap <> nil then begin
       BrushCopy(Bounds(Rect.Left + Offset, Rect.Top, Bitmap.Width, Bitmap.Height),
                 Bitmap, Bounds(0, 0, Bitmap.Width, Bitmap.Height), clRed); { Bitmap anzeigen}
     Offset := Bitmap.width + 6; { Vier Pixel zwischen Bitmap und Text einfügen}
   end;
   TextOut(Rect.Left + Offset, Rect.Top, (Control as TListBox).Items[Index]) { Text anzeigen }
   end;
  
end;
mfg
devnull
-- Never change a running system --
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 20:23 Uhr.
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