AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Auf TGraphicControl zeichnen

Ein Thema von R2009 · begonnen am 21. Jun 2009 · letzter Beitrag vom 23. Jun 2009
Antwort Antwort
R2009

Registriert seit: 9. Mär 2009
Ort: Heidelberg
440 Beiträge
 
Delphi 2007 Professional
 
#1

Auf TGraphicControl zeichnen

  Alt 21. Jun 2009, 16:16
Hi,

ich möchte auf eine von TGraphicControl abgeleitete Klasse zeichnen.
Den canvas kann ich nicht erreichen weil der unter protected deklariert ist.
Wie krieg ich die abgeleitete klasse dazu dass ich auf den canvas von TGraphicControl zeichnen kann?
Vielleicht steh ich auch Heute etwas auf dem Schlauch.

Viele Grüsse
Rainer Unger
Mein Profil:
Studium Allgemeine Elektrotechnik TH Darmstadt
Entwicklung von Tools für die Rundsteuer und Zählertechnik.
uP's Atmel Prozessoren (ATmega16,32,88...) in C und Assembler.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Auf TGraphicControl zeichnen

  Alt 21. Jun 2009, 16:32
Ist das Deine eigene Klasse?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
R2009

Registriert seit: 9. Mär 2009
Ort: Heidelberg
440 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Auf TGraphicControl zeichnen

  Alt 21. Jun 2009, 16:37
Hi,
ich habe tz3d davon abgeleitet. Bei der abgeleiteten Klasse tritt das Problem auf.

Grüsse
Rainer Unger
Mein Profil:
Studium Allgemeine Elektrotechnik TH Darmstadt
Entwicklung von Tools für die Rundsteuer und Zählertechnik.
uP's Atmel Prozessoren (ATmega16,32,88...) in C und Assembler.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Auf TGraphicControl zeichnen

  Alt 21. Jun 2009, 16:53
Ich versteh es immer noch nicht ganz. Wenn Du ableitest, kannst Du den Canvas doch unter public veröffentlichen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Auf TGraphicControl zeichnen

  Alt 21. Jun 2009, 18:18
Und wenn du ableitest kannst du in der abgeleiteten Klasse auf die Sachen im Protected zugreifen. Entsprechend brauchst du nicht mal etwas im Public veröffentlichen.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
R2009

Registriert seit: 9. Mär 2009
Ort: Heidelberg
440 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Auf TGraphicControl zeichnen

  Alt 22. Jun 2009, 05:39
Hi,

Zitat:
Und wenn du ableitest kannst du in der abgeleiteten Klasse auf die Sachen im Protected zugreifen. Entsprechend brauchst du nicht mal etwas im Public veröffentlichen.
Gerade das geht nicht! In der abgeleiteten Klasse komm ich an den canvas nicht heran.


Mal eine blöde Frage:
Wie veröffentlicht man denn etwas was in der Originalklasse unter protected stand?

Vielen Dank
Rainer Unger
Mein Profil:
Studium Allgemeine Elektrotechnik TH Darmstadt
Entwicklung von Tools für die Rundsteuer und Zählertechnik.
uP's Atmel Prozessoren (ATmega16,32,88...) in C und Assembler.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Auf TGraphicControl zeichnen

  Alt 22. Jun 2009, 08:41
Zitat von R2009:
Gerade das geht nicht! In der abgeleiteten Klasse komm ich an den canvas nicht heran.
Ist mir unbegreiflich. Wie versuchst Du es denn?

Zitat von R2009:
Mal eine blöde Frage:
Wie veröffentlicht man denn etwas was in der Originalklasse unter protected stand?
Indem man es unter public schreibt. Schau mal in die VCL-Sourcen, da ist es oft so, dass eine Elternklasse vom Typ TCustomIrgendwas deklariert wird, welche nur protected-Eigenschaften aufweist. Von dieser Elternklasse wird dann die "eigentliche" VCL-Klasse TIrgendwas abgeleitet, welche einfach nur die benötigten Eigenschaften im public-Abschnitt aufweist.
Delphi-Quellcode:
type TCustomIrgendwas = class(TWuppdi)
  ...
protected
  property Bla: TBla read FBla write FBla;
  ...
end;

TIrgendwas = class(TCustomIrgendwas)
...
public
  property Bla;
...
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
R2009

Registriert seit: 9. Mär 2009
Ort: Heidelberg
440 Beiträge
 
Delphi 2007 Professional
 
#8

Re: Auf TGraphicControl zeichnen

  Alt 23. Jun 2009, 05:51
Hi,

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  T3d= class(Tgraphiccontrol)
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var t:t3d;
begin
  t:=t3d.Create(self);
  t.Parent:=form1;
     t.canvas.moveto(1,1);
     t.canvas.lineto(100,100);
  canvas.Assign(t.canvas); <------
  t.Free;
end;

end.
Jetzt funktioniert das plötzlich, nachdem ich in der abgeleiteten Klasse privat und public eingefügt habe.
Sonst nichts verändert.

Ich hab leider noch einen Fehler:
Warum lässt sich der canvas des tgraphiccontrol nicht dem canvas der Form zuweisen?
Habs auch mit einer Bitmap probiert:
Fehlermeldung:
Tcontrolcanvas kann nicht zu Tcontrolcanvas zugewiesen werden!

Ziel meiner Aktion ist es einfach einen canvas zu haben auf den ich zeichnen und der zugewiesen werden kann.

Viele Grüsse
Rainer Unger
Mein Profil:
Studium Allgemeine Elektrotechnik TH Darmstadt
Entwicklung von Tools für die Rundsteuer und Zählertechnik.
uP's Atmel Prozessoren (ATmega16,32,88...) in C und Assembler.
  Mit Zitat antworten Zitat
Benutzerbild von Lannes
Lannes

Registriert seit: 30. Jan 2005
Ort: Münster
745 Beiträge
 
Delphi 3 Professional
 
#9

Re: Auf TGraphicControl zeichnen

  Alt 23. Jun 2009, 06:56
Hallo,
Zitat von R2009:
...Ziel meiner Aktion ist es einfach einen canvas zu haben auf den ich zeichnen und der zugewiesen werden kann.
suchst Du sowas?
Canvas einer RadioGroup zugewiesen
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:15 Uhr.
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