Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Canvas als Komponenten-Eigenschaft (https://www.delphipraxis.net/112544-canvas-als-komponenten-eigenschaft.html)

sebi87 23. Apr 2008 08:01


Canvas als Komponenten-Eigenschaft
 
Hallo Leute, ich weiß zwar nicht ob das hier an dem richtigen Platz ist aber ich weiß nicht wohin. Wenn es woanderst hingehört bitte verschieben.

Jetzt zu meinem Problem, ich habe eine Non-Visuelle-Komponente erstellt die auf eine Canvas einer anderen Komponente zeichnet.
Meine Problem ich will die Canvas als Property im OI auswählen können aber es funktioniert mit TCanvas nicht, wenn ich allerdings eine PaintBox nehme und als Property dann die TPaintBox nehmen kann ich, wenn eine PaintBox auf dem Formular ist diese auswählen. Das Funktioniert so ganz gut, nur bin ich auf die Canvas der PaintBox eingeschrängt, wenn ich jetzt die Canvas eines Images will geht das nicht.


Hat jemand eine Idee wie ich das allgemiener machen kann?



Danke



Sebastian

mkinzler 23. Apr 2008 08:05

Re: Canvas als Komponenten-Eigenschaft
 
Könnte daran liegen, das TCanvas keine Komponente ist.

sebi87 23. Apr 2008 08:07

Re: Canvas als Komponenten-Eigenschaft
 
Das hab ich mir auch schon überlegt, gibt es dennoch eine Möglichkeit das das funktioniert?

mkinzler 23. Apr 2008 08:10

Re: Canvas als Komponenten-Eigenschaft
 
Man könnte versuchen einen eigene Property-Editor zu schreiben, der in den published-Eigenschaften der Komponenten nach Cnavas-Eigenschaften sucht.

sebi87 23. Apr 2008 08:13

Re: Canvas als Komponenten-Eigenschaft
 
Kannst du hierzu mal ein Beispiel posten, hab gerade keine Ahnung wie das fuktioniert, bzw. funktionieren kann.

mkinzler 23. Apr 2008 10:10

Re: Canvas als Komponenten-Eigenschaft
 
http://www.delphi3000.com/articles/article_2744.asp

DeddyH 23. Apr 2008 10:32

Re: Canvas als Komponenten-Eigenschaft
 
Den Autor des Artikels kenn ich irgenwoher :mrgreen:

sebi87 23. Apr 2008 13:39

Re: Canvas als Komponenten-Eigenschaft
 
erst mal vielen dank für die Hilfe,

muss mal schauen wie ich das machen kann


Sebastian

sebi87 23. Apr 2008 15:30

Re: Canvas als Komponenten-Eigenschaft
 
Das mit dem Property-Editor hab ich jetzt soweit verstanden, nur wie suche ich im Design-Modus in den published-Eigenschaften der Komponenten nach Cnavas-Eigenschaften?

Sebastian

bitsetter 23. Apr 2008 16:42

Re: Canvas als Komponenten-Eigenschaft
 
Hi,

bist du dir sicher, dass du die published-Eigenschaften meinst?
Die Eigenschaft Canvas ist bei der TPaintbox nämlich unter public deklariert.

Bei published-Eigenschaften müsste es aber so gehen:
Delphi-Quellcode:
uses
  TypInfo;

...
var
  Info: PTypeInfo;
const
  PropName= 'Color';
begin
  Info := TypeInfo(TPaintbox);
  Showmessage(Format('Color ist published: %s', [BoolToStr(Assigned(GetPropInfo(Info, PropName)), True)]));

sebi87 23. Apr 2008 17:15

Re: Canvas als Komponenten-Eigenschaft
 
Recht habt ihr, ich meinte die public-Eigenschaft, müsste doch aber ähnlich funktionieren, oder?

sebi87 24. Apr 2008 18:06

Re: Canvas als Komponenten-Eigenschaft
 
So denk ich hab jetzt alles so weit.

Aber gleich das nächste, wie bekomm ich einen Property-Editor hin. Ich möchte ihn selber machen weiß nur nicht wie ich zu dem
Delphi-Quellcode:
TCanvasEditorDlg = class(TForm)
was ich selber geschrieben habe eine .dfm dazu bekomme.

mkinzler 24. Apr 2008 18:21

Re: Canvas als Komponenten-Eigenschaft
 
Lass dir die Form vom Formulardesigner erzeugen

olee 24. Apr 2008 18:27

Re: Canvas als Komponenten-Eigenschaft
 
Wie wär es denn mit dem Vorfahr aller Objecte mit Canvas Eigenschaft?

Also ein Vorfahr von button, image, usw.

Die müsste man doch auf dem Formular erkennen können.

sebi87 24. Apr 2008 18:30

Re: Canvas als Komponenten-Eigenschaft
 
Das wäre gut,

hättest du ne idee welcher das wäre?

mkinzler 24. Apr 2008 18:34

Re: Canvas als Komponenten-Eigenschaft
 
Na im Menu neues Formular

bluesbear 24. Apr 2008 18:41

Re: Canvas als Komponenten-Eigenschaft
 
Zitat:

Zitat von sebi87
Das wäre gut,
hättest du ne idee welcher das wäre?

Ich weiß jetzt nicht, auf welche Frage du dich beziehst. Wenn es olee war: TCustomControl und TGraphicControl, denke ich mal.

sebi87 24. Apr 2008 18:42

Re: Canvas als Komponenten-Eigenschaft
 
Das mit dem Formular und der .dfm hat funktioniert.

Es ging gerader um

Zitat:

Zitat von olee
Wie wär es denn mit dem Vorfahr aller Objecte mit Canvas Eigenschaft?

Also ein Vorfahr von button, image, usw.

Die müsste man doch auf dem Formular erkennen können.

und hierzu wollte ich wissen was ihr füre einen Vorfahren vorschlag oder was auch geht wenn jemand weiß wie ich im Designmodus nach Objecten mit Canvas suche (aus einem PropertyEditor heraus)

olee 24. Apr 2008 18:45

Re: Canvas als Komponenten-Eigenschaft
 
Kuck mal in der Delphi Hilfe:

:arrow: Such nach TImage.

:arrow: Klick auf Eigenschaften

:arrow: Such da drin nach Canvas und guck, unter welchem Vorfahr das steht!

sebi87 24. Apr 2008 19:11

Re: Canvas als Komponenten-Eigenschaft
 
Hmm in de Delphi-Hilfe steh nur das TObjekt als vorfahre, das geht aber für das was ich will nicht.

Kann ich eine Liste der Komponenten die Auf dem Aktuellen Formular sind im Designmodus erzeugen und die dann nach der property Canvas durchsuchen?


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:01 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 by Thomas Breitkreuz