用Memo显示图片,你可以自己改改这个控件,处理memo的 WM_Paint消息,画个图片。 type 
TMyMemo = class(TMemo) 
protected 
procedure WMPaint(var Message: TWMPaint); message WM_PAINT; 
end; 
procedure TMyMemo.WMPaint(var Message: TWMPaint); 
var 
MCanvas: TControlCanvas; 
DrawBounds : TRect; 
Begin 
inherited; 
MCanvas:=TControlCanvas.Create; 
DrawBounds := ClientRect; 
Try 
MCanvas.Control:=Self; 
With MCanvas do 
Begin 
Brush.Color := clBtnFace; 
FrameRect( DrawBounds ); 
InflateRect( DrawBounds, -1, -1); 
FrameRect( DrawBounds ); 
FillRect ( DrawBounds ); 
MoveTo ( 33, 0 ); 
Brush.Color := clWhite; 
LineTo ( 33, ClientHeight ); 
PaintImages;//定义的画图片过程 
end; 
finally 
MCanvas.Free; 
End; 
end; procedure TMyMemo.PaintImages; 
var 
MCanvas: TControlCanvas; 
DrawBounds : TRect; 
i, j : Integer; 
OriginalRegion : HRGN; 
ControlDC : HDC; 
begin 
MCanvas:=TControlCanvas.Create; 
DrawBounds := ClientRect; 
try 
MCanvas.Control:=Self; 
ControlDC := GetDC ( Handle ); 
MCanvas.Draw(0, 1, Application.Icon); 
finally 
MCanvas.Free; 
end; 
end; 
================================================================
一颗红心向前看,为了革命两茫然,不好意思才囊尽,只能说上一点点。
★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
★    我踢  我踢   我踢  我踢  我踢  我踢  我踢  我踢  我踢   ★
★    你UP  你UP   你UP  你UP  你UP  你UP  你UP  你UP  你UP   ★
★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
================================================================

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      ACanvas: TCanvas;
    begin
      ACanvas := TCanvas.Create;
      ACanvas.Handle := GetDC(Memo1.Handle);
      ACanvas.Ellipse(1, 1, 20, 20);
      ACanvas.Free;
    end;
      

  2.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
     canvasMemo:Cardinal;
     DrawPaper:TCanvas;
    begin
      canvasMemo:=getDC(memo1.Handle);
      DrawPaper:=TCanvas.Create;
      DrawPaper.Handle:=canvasMemo;
      with DrawPaper do
      begin
        DrawPaper.LineTo(300,300);
        DrawPaper.LineTo(600,600);
      end;
      releaseDC(memo1.Handle,canvasMemo);
    end;你也可以直接用api函数