![]() |
Re: Zwei Fragen zu Komponentenentwicklung
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
ich muss mich korrigieren, TComponent hat kein Parent, das gibt's erst bei TControl :oops: . Zitat:
Da Du von TComponent ableitest, hat Deine Komponente keinen Canvas und keine Paint-Mathode zum Überschreiben. Du solltest also von TGraphicControl ableiten, da hast Du einen Canvas und eine Paint-Methode. Ich hab mal Dein Zeug etwas überarbeitet, fehlt aber noch Werteüberprüfung. @Hansa: Natürlich erkennt der OI ein TColor, wenn die Eigenschaft als Published deklariert ist. Gruß xaromz |
Re: Zwei Fragen zu Komponentenentwicklung
@xaromz: der clou des ganzen ist ja, dass die komponente sich nicht selbst zeichnet, sondern auf das parent-canvas gezeichnet wird.
den code werd ich mir aber morgen erst zu gemüte führen. @Hansa: es käme mir wirklich extrem dumm vor, wenn der OI nicht wüsste, wohin er die werte schreiben soll, wenn ich ihm sowohl read als auch write definiert habe. |
Re: Zwei Fragen zu Komponentenentwicklung
Zitat:
(Nur muss es halt nicht mit Canvas passieren, sondern kann auch etwas effizienter sein ;) ) |
Re: Zwei Fragen zu Komponentenentwicklung
Zitat:
|
Re: Zwei Fragen zu Komponentenentwicklung
Hallo,
Zitat:
Zitat:
Gruß xaromz |
Re: Zwei Fragen zu Komponentenentwicklung
@Ressourcen: ich verweise mal auf den thread
![]() Zitat:
@Hansa: Du meinst also, wenn ich schon (Deiner meinung nach) absoluter Noob bin, darf man mir nicht wohlmeinend ein beispiel zeigen? (Mir fällt auch sonst öfters auf, dass zu, sagen wir mal, ziemlich extreme Meinungen äusserst. vielleicht solltest du dir überlegen, ob du deinen ton nicht manchmal etwas mäßigen willst. Denn ein noob wie ich wird von so etwas wie "das behaupten einige andere auch und scheitern erbärmlich." eher abgeschreckt als wermutigtm, sich richtig reinzuhängen.) Und ausserdem, wenn ich mich schon nicht von der meinung "wenn ich eine property mit read und write zugriff habe, kann der OI immer darauf zugreifen" abbringen lasse, hilft doch eigentlich nur noh quelltext, der das gegenteil beweist. Fakten fakten fakten! :mrgreen: jetz schau ich mir aber erstmal den anhang von xaromz an. EDIT: ich sehe, das ist jetzt von TGraphicControl abgeleitet. muss das denn sein? und auf welches canvas zeichnet es denn jetzt? |
Re: Zwei Fragen zu Komponentenentwicklung
Zitat:
P.S.: ehe ichs vergesse : die Frage wurde gestellt, ohne eine einzige Zeile Code dazu zu liefern ! Als Antwort erwartest du aber kompletten Code ? :shock: |
Re: Zwei Fragen zu Komponentenentwicklung
Hallo,
Zitat:
Als Möglichkeit für Deine Bedürfnisse wäre evtl. eine Komponente (wieder von TGraphicControl) geeignet, die alle Werte aufnehmen und auf einmal anzeigen kann. Für das bisschen Zeitgewinn wäre das aber Overkill. Zitat:
Gruß xaromz |
Re: Zwei Fragen zu Komponentenentwicklung
ja so hatt ich mir das gedacht. werde das ganze dann bei gelegenheit(hoffentlich noch dieses we) fertig proggen.
Hansa: Ein "top tip"? Du wirfst mir den brocken "position" hin, mit verweis auf ein tutorial, und das soll dann ein "top tip" sein? nein danke. im übrigen hab ich nie fertigen code verlangt, sondern zwei grundsätzliche, allgemeine und fast schon abstrakte fragen gestellt: - wie lasse ich das paint-ereignis automatisch auslösen? Antwort: Paint überschreiben, fertig. - wie bringe ich es so hin, dass ich die werte im OI einstellen kann? Antwort: ein wenig rumgedruckse, ein bisschen äusserst hinterfotzige ironie(war es ironie? so etwas sieht man in einem forum leider verdammt schlecht), aber sonst kaum etwas. nimm bitte nochmal alleine hierzu stellung: "wenn ich eine property deklariere und mit read and write zugriff versehe, wie setze ich dann standardwerte? ich hatte das bis jetzt im konstruktor, wo es ja eigentlich auch hingehört, das scheint aber das, was ich im OI setze, zu überschreiben?" mag sein, dass das im tutorial steht, aufgrund eines kleinen missgeschickes meinerseits(ja ich gebs ja zu) hab ich das aber nicht gelesen, obwohl ich selbiges vermeinte. ich werde es jetzt lesen, und vielleicht weiss ich dann schon weiter. ich würde es aber schon gerne noch sehen, dass du eine 1. eindeutige 2. anständige 3. hilfreiche antwort darauf zustande bringst. ansonsten würde es sich bei mir bestätigen, dass du gerne die anderen user ein wenig verarschst und oft postest ohne wirklich nachzudenken was genau du da postest. ([/@hansa]) EDIT: entweder bin ich schon zu müde, oder in dem tut steht wirklich nicht, wie ich standardwerte mache... |
Re: Zwei Fragen zu Komponentenentwicklung
Standartwerte setzt du in dem du sie im Constructor überschreibst. Angenommen du hast eine selbst erstellte property Namens Padding, dann sieht der Code für die Compo so aus:
Delphi-Quellcode:
unit MyControl; interface uses Windows, SysUtils, Classes, Controls, Messages, Graphics; type TMyControl= class(TCustomControl) private { Private-Deklarationen } fPadding: Integer; protected { Protected-Deklarationen } //procedure Paint; override; public { Public-Deklarationen } constructor Create(aOwner: TComponent); override; destructor Destroy; override; published { Published-Deklarationen } property Padding: Integer read fPadding write fPadding; // Vererbte Properties property Align; end; procedure Register; implementation procedure Register; begin RegisterComponents('Standard', [TMyControl]); end; constructor TMyControl.Create(aOwner: TComponent); begin inherited Create(aOwner); fPadding := 5; //Hier wird der Inhalt der Variable geändert Align := alLeft; //Properties die du nicht selbst erstellt(vererbt) hast //kannst du wie üblich ändern end; destructor TMyControl.Destroy; begin inherited Destroy; fBackground.Free; end; (* procedure TMyControl.Paint; begin inherited Paint; end;*) end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:43 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