Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Tpanel+Tspeedbutton+Imagelist zu einer Komponente machen! (https://www.delphipraxis.net/104819-tpanel-tspeedbutton-imagelist-zu-einer-komponente-machen.html)

snow 11. Dez 2007 12:12


Tpanel+Tspeedbutton+Imagelist zu einer Komponente machen!
 
Hallo

Ich hab folgendes vor.

ICh will Tspeedbuttons auf einem Tpanel haben. Ich will die Groupindex verändern und das Bild des TSpedbutton soll aus einer TImagelist geladen werden.

Kann man in DelphiKomponenten Zusammenfassen?

Ich hätte am liebsten eine komponente, die ich wie ein panel auf die Form ziehe und dann die speedbuttons erstelle. Diese sollen dann auf der Form verteilbar sein und dann möchte ich den Speedbuttons Bilder aus einer Imagelist zuweisen.

Da ich keine Erfahrung mit Komponeneten habe würde ich gern euere Meinung erfragen, Wie viel Aufwand das ist und wie ich anfangen soll?

Gruß snow

Kroko1999 11. Dez 2007 14:39

Re: Tpanel+Tspeedbutton+Imagelist zu einer Komponente machen
 
Lesen bilder, siehe dort!

snow 11. Dez 2007 14:49

Re: Tpanel+Tspeedbutton+Imagelist zu einer Komponente machen
 
Kenn ich schon!

Hab auch schon das Grundgerüst für einen NeuenSpeedbutton

Ich hab ihn vom TSpeedbutton abgeleitet und die Propertys

Imageindex : Integer;
Images : TImagelist;

hinzugefügt.

So das klappt, doch wie kann ich jetzt auf eine änderung des ImageIndex reagieren.(Der soll dann in der Imagelist nach schlagen und die Bitmap holen, und sie im Glyph abspeichern.

Wie das unter normalen umständen aussieht weis ich. Aber wie kann ich delphi sagen, das es auf änderungen reagieren soll(am liebsten ohne Timer).

Gruß snow

Kroko1999 11. Dez 2007 15:54

Re: Tpanel+Tspeedbutton+Imagelist zu einer Komponente machen
 
Delphi-Quellcode:
property ImageIndex: Integer read FImageindex write SetImage;
property + F1
ImageList.GetBitmap + F1

snow 11. Dez 2007 16:00

Re: Tpanel+Tspeedbutton+Imagelist zu einer Komponente machen
 
Was ist Setimage?

ne procedure?

Gruß snow

Kroko1999 11. Dez 2007 16:01

Re: Tpanel+Tspeedbutton+Imagelist zu einer Komponente machen
 
Zitat:

Zitat von snow
Was ist Setimage?

ne procedure?

Gruß snow

ja, wie wäre es mit ein paar Grundlagen in Delphi und OOP, :roll:

snow 11. Dez 2007 16:42

Re: Tpanel+Tspeedbutton+Imagelist zu einer Komponente machen
 
Das hab ich jetzt hinbekommen. ICh hab jetzt eine procedure die auf das schreiben auf Imageindex reagiert.

Doch wenn ich in der das hier amchen lasse, dann

Delphi-Quellcode:
begin
//
Try
tmpbmp :=Tbitmap.create;
FImages.GetBitmap(1,tmpbmp);
tmpbmp.Free;
except
end;
bekomm ich ne zugriffsverletzung beim lesen von

00000000000C.

was nun? In der Imagelist gibt es auch ein image mit dem index von 1.
Gruß Snow

Kroko1999 11. Dez 2007 16:54

Re: Tpanel+Tspeedbutton+Imagelist zu einer Komponente machen
 
(a) Ist FImages denn createt?
(b) Es geht auch ohne tmpBmp:
Delphi-Quellcode:
begin
  Try
    FImages.GetBitmap(1,SpeedButton.Glyph);
  except
  end;
end;

snow 11. Dez 2007 16:57

Re: Tpanel+Tspeedbutton+Imagelist zu einer Komponente machen
 
FImages ist mit der Property Images verknüpft, welche eine Timagelist enthält.

Diese ist im OI ausgewählt und befindet sich auf der Form.

Gruß snow

Kroko1999 11. Dez 2007 17:36

Re: Tpanel+Tspeedbutton+Imagelist zu einer Komponente machen
 
kommt der Fehler auch, wenn Du meine Variante, also direkt über Glyph, auch?


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:09 Uhr.
Seite 1 von 2  1 2      

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