보통은 걍 TImage 올려 쓰면 되는데, 질문을 보니 먼가 다른 작업을 하고 시픈것 같습니다.
그럼 TPanel.Canvas 를 사용하여 직접 Canvas 에 그려주는 방법이 있습니다.
TPanel.Canvas 는 ReadOnly 로 설정되어 있으므로, 상위 클래스를 상속받거나 또는 TPanel 을 상속받아 Canvas를 Writable 되게 설정한 후 사용해야 합니다.
결론은 새로운 컴포넌트를 만들어야 한다는 겁니다.
OnPaint 에 제작한 이미지 그려주는 루틴을 넣어주면 잘 작동할 겁니다.
즐푸..
type
TMyPanel = class(TCustomPanel)
private
. . . . . . .
var
Bmp : TBitmap;
implementation
uses Forms;
{ TMyPanel }
constructor TMyPanel.Create(AOwner: TComponent);
var
Path: String;
begin
inherited;
Path := ExtractFilePath(Application.ExeName);
Bmp := TBitmap.Create;
Bmp.LoadFromFile(Path+'/Myimg.bmp');
Self.Width := 200;
Self.Height := 200;
end;
destructor TMyPanel.Destroy;
begin
Bmp.Free;
inherited;
end;
procedure TMyPanel.Paint;
begin
inherited;
Bmp.Width := 50;
Bmp.Height := 50;
Self.Canvas.TextOut(50,35,'원하는위치에 이미지');
Self.Canvas.Draw(50,50, Bmp);
end;
procedure TMyPanel.Repaint;
begin
inherited;
Paint;
end;