Einzelnen Beitrag anzeigen

biochip

Registriert seit: 10. Mai 2004
Ort: Hartha
9 Beiträge
 
Delphi 6 Personal
 
#1

Fehlermeldung beim canvasobject in Tshape

  Alt 16. Jan 2005, 22:25
Hi, Wer kann helfen beim nutzen des Canvasobjects laden eines Bildes tritt s. code
Exception der Klasse EAcessvioalition auf.

Wie kann ich auf dem canvas der Tshape-Komponente zeichnen.

Bei d3 brauchte ich nur eine instanz erzeugen
s:=ts.Create(form1);
s.Parent:=form1;
s.Width:=180;
s.Height:=270;
und dann cannvas.zeichenroutinen fertig

Wie mache ich das bei D6 Personal um auf die ZeichenFläche mit canvas.Routinen zu greifen.
Das shapeobject soll dann auf auser die Standartdshapes wie stellipse
mit Polygon Dreiecke oder andere Figuren Zeichnen.
Nur mit Image,Form habe ich keine Problehme der Art.
Aber Paintbox,Tpanel......u.s.w

var canvas:Tcanvas
Muss ich hier die canvas:=Tcanvas.create(self)
oder property canvas:Tcanvas read ...... write...... Defaults ..
Habe auch im Forum nichts gefunden auser in Groupbox zeichnen
oder s.canvas.handle
oder api get....DC:HDC

Vielen Dank im voraus

biochip


Delphi-Quellcode:
constructor ts.create(aowner:tcomponent);
begin
inherited create(aowner);

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Try
s.Brush.Bitmap.Width:=186;//Hier Fehlermeldung Exception der Klasse Eacessvioalition
s.Brush.Bitmap.height:=276;
s.Brush.Bitmap.PixelFormat:=pf8bit;//Das Bild hat 8 Pixel pro Bit 256 Farben
s.Brush.Bitmap.LoadFromFile('figurx2.bmp');
//s.Brush.Bitmap.Canvas.Rectangle(0,0,200,200);
// s.canvas. .......
except
s.free;
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
s:=ts.Create(form1);
s.Parent:=form1;
s.Width:=180;
s.Height:=270;
end;
  Mit Zitat antworten Zitat