![]() |
Eigene Komponente ???
hallo,
ich habe mir eine imagekomponente gebastelt. wenn auf meiner form eine bitmaplist vorhanden ist, möchte ich sie im objecktinspecktor meiner komponente auswählen können . wie kann ich das machen? gruss bernd |
Re: Eigene Komponente ???
Delphi-Quellcode:
private
FBitmapList: TBitmapList; { Private-Deklarationen } protected { Protected-Deklarationen } public { Public-Deklarationen } published property BitmapList: TBitmapList read FBitmapList write FBitmapList; { Published-Deklarationen } |
Re: Eigene Komponente ???
Hallo,
Danke für deine Hilfe, bei :
Delphi-Quellcode:
Da kommt undefinierer Bezeichner TBitmapList , hab ich was vergessen ?
private
FBitmapList: TBitmapList; Gruss Bernd |
Re: Eigene Komponente ???
Könnte es sein die Klasse TImageList heißt?
|
Re: Eigene Komponente ???
hallo,
ist schon richtig aber auch mit TImageList , kommt die meldung. gruss bernd |
Re: Eigene Komponente ???
Hast du die Unit in die Uses übernommen?
|
Re: Eigene Komponente ???
hmmmm... welche meinste denn?
|
Re: Eigene Komponente ???
du meinst TImageList ( Graphics ) , hab ich gemacht . geht nicht.?????
gruss bernd |
Re: Eigene Komponente ???
Wie sieht der Code jetzt aus?
|
Re: Eigene Komponente ???
Du musst die Unit, in der TImageList deklariert ist, in den Uses-Teil deiner Unit eintragen. Falls die Unit Graphics ist, musst du sie bei uses eintragen.
Delphi-Quellcode:
uses Classes, ..., Graphics;
|
Re: Eigene Komponente ???
hallo,
also müsste ich unit1 in uses schreiben , das wäre ja doof . kann ich das nicht mit findcomponent machen oder so ? gruss bernd |
Re: Eigene Komponente ???
Zitat:
Zitat:
|
Re: Eigene Komponente ???
Hallo,
ich will meine komponente auf meine form ziehen, was ja funcktioniert , und den einfach bitmaplist auswählen . wenn nun beim anwender die unit nun nicht unit1 heisst gehts ja nicht . wie könnte man das den ändern , um den namen der unit zubekommen . bei der komponente image gehts doch auch egal wie die unit heisst. gruss bernd |
Re: Eigene Komponente ???
In der Komponentenunit darf Unit1 natürlich nicht in den Uses stehen, in der Unit, der Form auf der die Komponente später liegt.
|
Re: Eigene Komponente ???
Nunja, ich glaube du hast da etwas nicht ganz verstanden ;) Die Klasse TImageList ist in einer Unit deklariert. Diese Unit heisst Graphics. Damit du in deiner eigenen Komponente (Klasse) die Klasse TImageList verwenden kannst, musst du diese deiner Unit, in der deine eigene Klasse deklariert wird, ja irgendwie bekannt machen. Das tust du, in dem du dem uses-Teil DEINER EIGENEN Unit, in der deine Komponente deklariert wird, die Unit Graphics hinzufügst. Dann hast du Zugriff auf alle Klassen, Typen, Konstanten etc aus der Unit Graphics in deiner eigenen Unit.
Um deine Komponente wiederum zu verwenden, muss nun die Unit in der deine Komponente deklariert ist, zu der Unit des PRogramms hinzugefügt werden. Dann ist es aber egal, wie diese deine Unit heisst :) |
Re: Eigene Komponente ???
hallo,
habs jetzt keine fehler meldung supi. aber wenn ich die imagelist auf der form habe bleibt die auswahl leer. :cry: gruss bernd |
Re: Eigene Komponente ???
Du musst das Teil auch noch auswählen... Mit Komponente aufs Form klatschen is da nix getan :roll:
|
Re: Eigene Komponente ???
Du musst ja auch im Object Inspector bei deiner Komponente die ImageList auswählen ;) das sollte über eine DropDown-Liste, in der alle Image-Lists auf dem Formular angezeigt werden, möglich sein :)
Oder meinst du dass es nichts zum auswählen gibt? Dann wäre dein Quelltext wie du ihn bis jetzt hast ganz nützlich. |
Re: Eigene Komponente ???
danke DAX für deine info aber so senil bin ich nun auch nicht.
okay also mein quell text:
Delphi-Quellcode:
gruss bernd
uses
Windows, ...., ImgList, Graphics; ... private FBitmapList : TImageList; ... published property BitmapList : TImageList read FBitmapList write FBitmapList; |
Re: Eigene Komponente ???
Ich kann dein Problem nicht nachvollziehen, hier mein Quelltext:
Delphi-Quellcode:
ImageList auf die Form, TFoo auf die Form, und ich kann wunderbar die ImageList unter ImageList auswählen :?
unit Unit1;
interface uses Windows, Classes, ImgList, Graphics, Controls, CommCtrl; type TFoo = class(TComponent) private fImageList: TImageList; published property ImageList: TImageList read fImageList write fImageList; end; procedure Register; implementation procedure Register; begin RegisterComponents('Standard', [TFoo]); end; end. |
Re: Eigene Komponente ???
okay hab vielen dank. :thumb:
|
Re: Eigene Komponente ???
Zitat:
|
Re: Eigene Komponente ???
Ja schon klar. Aber darum ging es ja hier nicht :stupid: so in etwa:
Delphi-Quellcode:
protected
procedure Notification(AComponent: TComponent; Operation: TOperation); override; procedure TFoo.Notification(AComponent: TComponent; Operation: TOperation); begin inherited Notification(AComponent, Operation); if (Operation = opRemove) and (fImageList <> nil) and (AComponent = ImageList) then ImageList := nil; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:06 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