AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Mehrere Icons nebeneinander darstellen

Mehrere Icons nebeneinander darstellen

Ein Thema von schwa226 · begonnen am 10. Jul 2009 · letzter Beitrag vom 3. Aug 2009
Antwort Antwort
Seite 3 von 4     123 4   
Andreas L.
(Gast)

n/a Beiträge
 
#21

Re: Mehrere Icons nebeneinander darstellen

  Alt 12. Jul 2009, 19:18
Zitat von schwa226:
Danke!

WErds mir noch ansehen!

Jetzt habe ich dazu noch eine Frage. Wie geht das dann bei der Toolbar mit OnMouseDown?
Wie finde ich heraus welcher Button gedrückt wurde?
Du definierst dir ein OnClick-Event und weist es jeden Button beim erstellen zu:
Delphi-Quellcode:

procedure TForm1.ToolButtonClick(Sender: TObject);
begin
  if Sender is TToolButton then
    ShowMessage('Button mit dem Index "' + IntToStr(TToolButton(Sender).Index) + '" gedrückt."');
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  neuerButton: TToolButton;
begin
  neuerButton := TToolButton.Create(ToolBar1);
  with neuerButton do
  begin
    Caption := 'Beschriftung';
    ImageIndex := 0;
    Parent := ToolBar1;
    OnClick := ToolButtonClick;
  end;
end;
Soll deine IconListe so aussehen: http://www.greatis.com/delphicb/bonu...listdesign.gif ?
Dann solltest du dir mal TListView anschauen.
  Mit Zitat antworten Zitat
schwa226

Registriert seit: 4. Apr 2008
400 Beiträge
 
#22

Re: Mehrere Icons nebeneinander darstellen

  Alt 12. Jul 2009, 19:28
Danke für dein Hilfe!

Ich habe mir nun eine neue Class erzeugt, die die Funktionen MouseDown & MouseUp enthält.
Beim erzeugen des Buttons weise ich die Methode dann zu.

In der Methode erkenne ich dadurch welcher Button gedrückt wurde:
ButtonIndex := (Sender as TToolButton).Index; Anbei wie es jetzt aussieht! Es soll ja sowas wie ein Tray Ersatz werden!

Jetzt muss ich mich halt noch mit dem Vergrößern der Transparanten Icons beschäftigen!
Angehängte Grafiken
 
  Mit Zitat antworten Zitat
schwa226

Registriert seit: 4. Apr 2008
400 Beiträge
 
#23

Re: Mehrere Icons nebeneinander darstellen

  Alt 12. Jul 2009, 20:49
Nun doch noch eine Frage!

Ich habe meinen Code in einer andern Unit. Diese Unit legt auf die Toolbar Buttons an.

Hätte nun probiert:
Delphi-Quellcode:
Function CreateToolBar(Sender : TObject) : Boolean;
var
ToolBarObject : TToolBar;
begin

  ToolBarObject := (Sender as TToolbar);
Aufgerufen wird es so:
CreateToolBar(Form4.Toolbar1); Es gibt keinen Error, jedoch bleibt auch die Toolbar leer!?

Wie kann ich das Toolbar Objekt übergeben damit es geht ohne die Form4 in die Uses von der Unit aufnehmen zu müssen?
  Mit Zitat antworten Zitat
Andreas L.
(Gast)

n/a Beiträge
 
#24

Re: Mehrere Icons nebeneinander darstellen

  Alt 12. Jul 2009, 21:39
1. Musst du dem Parameter var voranstellen damit du ihn als Referenzparameter d. h. Zeiger auf den Speicherbereich des Objekts (Call-by-Reference) verwenden kannst. Bei normalen Parametern erhältst du nur eine Kopie die natürlich nicht ins Original-Objekt zurück kopiert wird.
Delphi-Quellcode:
procedure Test_1(Param: String);
begin
  Param := 'TEST';
end;

procedure Test_2(var Param: String);
begin
  Param := 'TEST';
end;

procedure ButtonClick;
var
  S: String;
begin
  S := 'Hallo';

  Test_1(S); //S = Hallo

  Test_2(S); //S = TEST
end;
2. warum machst du das über eine lokale Variable?

Delphi-Quellcode:
procedure AddToolBarButton(var AToolbar: TToolbar);
var
  NewButton: TToolButton;
begin
  NewButton := TToolButton.Create(AToolbar);
  ...
  NewButton.Parent := AToolbar;
end;
EDIT: Verflixte Schlechtschreibung...
  Mit Zitat antworten Zitat
schwa226

Registriert seit: 4. Apr 2008
400 Beiträge
 
#25

Re: Mehrere Icons nebeneinander darstellen

  Alt 13. Jul 2009, 08:32
Super Danke für dein Hilfe Andreas!

Jetzt bin ich etwas mehr mit der Toolbox vertraut

Habe das mit der Übergabe per var TToolbox noch probiert!
Geht einwandfrei!

Was mir mit den Icons noch aufgefallen ist:
Auch wenn ich ein 32x32 Icon lade wird dies 16x16 dargestellt. Es kann sein, das die Toolbutton das mit Icons automatisch machen. Werds einmal mit einem Image versuchen!
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#26

Re: Mehrere Icons nebeneinander darstellen

  Alt 13. Jul 2009, 09:08
// --- Easy - IconBar Version 1.0 by turboPASCAL --- //
Angehängte Dateien
Dateityp: zip iconbar_147.zip (223,8 KB, 21x aufgerufen)
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Andreas L.
(Gast)

n/a Beiträge
 
#27

Re: Mehrere Icons nebeneinander darstellen

  Alt 13. Jul 2009, 11:10
Zitat von schwa226:
Auch wenn ich ein 32x32 Icon lade wird dies 16x16 dargestellt. Es kann sein, das die Toolbutton das mit Icons automatisch machen. Werds einmal mit einem Image versuchen!
Nein, die Toolbar stellt die Symbole in dem Format dar, welches du bei der ImageList mit Hight und Width eingestellt hast.
  Mit Zitat antworten Zitat
schwa226

Registriert seit: 4. Apr 2008
400 Beiträge
 
#28

Re: Mehrere Icons nebeneinander darstellen

  Alt 13. Jul 2009, 11:45
Danke @turboPASCAL!

Werd's mir ansehen!!
  Mit Zitat antworten Zitat
schwa226

Registriert seit: 4. Apr 2008
400 Beiträge
 
#29

Re: Mehrere Icons nebeneinander darstellen

  Alt 16. Jul 2009, 06:59
Jetzt habe ich noch eine kleine Frage zu dem Thema!

Ich habe nun mehrere Icons nebeneinander. Per MouseDown/MouseUp & Sender weis ich welches Icon gedrückt wurde.

Nun möchte ich aber die ganze Message die durch das draufclicken entsteht per Sendmessage weiterleiten.

D.h. ich sollte eigentlich nicht auf MouseClick reagieren sondern auf die Message. Jedoch weis ich dann nicht wie ich herausfinden kann, welches Icon gedrückt wurde!?

Ich hoffe das ist verständlich
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#30

Re: Mehrere Icons nebeneinander darstellen

  Alt 16. Jul 2009, 08:21
Zitat von schwa226:
Nun möchte ich aber die ganze Message die durch das draufclicken entsteht per Sendmessage weiterleiten.

D.h. ich sollte eigentlich nicht auf MouseClick reagieren sondern auf die Message.
Welche Message meinst du und was möchtest du mit Sendmessage weiterleiten ?
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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