Komponentenentwicklung - Eigenschaften löschen
-
insaint schrieb:
z.B.: Was mache ich um "Caption" wegzubekommen?
(... und damit meine ich nicht this->Caption = "";
)Wenn du es nur von außen nicht zugänglich machen willst, reicht AFAIK ein
private: __property Caption;in deiner abgeleiteten Klasse.
Moritz
-
Also ich habe
private: __property Caption;in die .h der neuen Klasse kopiert, aber im Objektinspektor finde ich noch "Caption".
Ich probiers mal mit TCustomPanel
thx

-
audacia schrieb:
insaint schrieb:
z.B.: Was mache ich um "Caption" wegzubekommen?
(... und damit meine ich nicht this->Caption = "";
)Wenn du es nur von außen nicht zugänglich machen willst, reicht AFAIK ein
private: __property Caption;in deiner abgeleiteten Klasse.
Moritz
????????????????????
Nicht, wenn von TPanel abgeleitet!
Was public ist kann nicht wieder versteckt werden!Besser, wie Akari sagt.
-
Allerdings vermisse ich bei TCustomPanel die Eigenschaft "Align".
Die jetzt selberschreiben wollte ich eigentlich nicht...
Was mach ich denn jetzt ?
?
-
in Public der abgeleiteten Klasse (von CustomPanel)
__property Align;
-
Super! Im Quellcode kann ich Align jetzt ansprechen!!! Dankeschön
!Jetzt müsste ich nur noch ne Möglichkeit finden,
wie ich die Eigenschaft auch im Objektinspektor anzeigen kann!
-
Hallo
du must den Eintrag
__property Align;in den Abschnitt __published:
schreiben.bis bald
akari
-
Danke für die schnelle Antwort

Klappt wunderbar!!!
-
Noch 'ne Frage:
Kann man das gleich auch mit Ereignissen machen ?
?
-
Hallo
klar geht das auch mit Events.
hier mal ein Beipiel für einfachen eigenen Event :typedef void __fastcall (__closure *TIntegerEvent)(System::TObject* Sender, int Value); // Definition eines Events zum Übergeben einer Zahl ... class TMyControl { ... private : TIntegerEvent iMyEvent; // interner Speicher auf zugewiesene Funktion ... __published : ... __property TIntegerEvent MyEvent = {read = iMyEvent, write = iMyEvent}; // Property für Event }; ... // Konstruktor von TMyControl TMyControl::TMyControl() : ... { ... iMyEvent = NULL; // Speicer initialisieren }jetzt hast du im OI deines Controls den neuen Event, dem du passende Funktionen zuweisen kannst.
bis bald
akari
-
Gut, so schreibe ich Ereignisse selber,
aber was ich meinte ist,
ob ich bestehende (z.B. OnClick-) Events einfach einbinden kann,
und wie dass geht?
-
Hallo
wo soll denn der Event herkommen?
Und wie genau willst du diesen in deinem Control nutzen?bis bald
akari
-
Naja,
sagenwir einfachmal ich möchte ein TMyCustomPanel,
dass eine OnClick-Event besitzt, dass das gleiche macht,
wie ein On-Click-Event bei einem TPanel:
Er reagiert halt aufs draufclicken!Später wären auch OnMouseMove, OnMouseDown etc interessant...
-
__property OnClick;tut es!
Schönen Dank auf jeden Fall! Mir fallen nachher bestimmt noch ein paar Fragen ein!

Ansonsten schönes WE