Registriert seit: 16. Jan 2003
Ort: Bonn ("links über Königswinter ")
240 Beiträge
Delphi 4 Standard
|
Probleme mit TBitmap und Größenänderung
12. Feb 2003, 15:51
Delphi-Quellcode:
unit TestBox;
interface
uses
Classes,
ExtCtrls,
Graphics;
type
TTestBox = class(TPaintBox)
private
{ Private-Deklarationen }
protected
Background: TBitMap;
first: boolean;
{ Protected-Deklarationen }
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure paint; override;
procedure Resize; override;
published
{ Published-Deklarationen }
end;
procedure Register;
implementation
procedure TTestBox.Resize;
begin
Background.Width:=Width;
Background.Height:=Height;
background.Canvas.Ellipse(0,0,Width,Height);
inherited Resize;
end;
constructor TTestBox.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
Background:= tbitmap.Create;
Background.Width:=Width;
Background.Height:=Height;
background.Canvas.Ellipse(0,0,Width,112);
end;
procedure TTestBox.Paint;
begin
inherited paint;
canvas.Draw(0,0,background);
end;
destructor TTestBox.Destroy;
begin
background.Free;
inherited Destroy;
end;
procedure Register;
begin
RegisterComponents(' Beispiele', [TTestBox]);
end;
end.
Warum kann ich das Bitmap beim Create verändern, im Resize-Ereigniss nicht? Da stegt er jedesmal mit einer "Zugriffsverletzung bei Adresse..." aus.
|
|
Zitat
|