可否在没有canvas的空件里面画图,不如画线,园

解决方案 »

  1.   

    可以
    比如在button上画var newCan:TCanvas;
    begin
      newcan:=TCanvas.Create;
      newcan.Handle:=getdc(button1.Handle);
      newcan.TextOut(1,1,'i love you');
      newcan.Free
      

  2.   

    可以
    HDC dc = GetDC(BitBtn1->Handle);
    TCanvas * can = new TCanvas();
    can->Handle = dc;
    can->Pen->Color = clLime;
    can->MoveTo(100,100);
    can->LineTo(200,200) ;
    can->Rectangle(Rect(0,0,BitBtn1->Width,BitBtn1->Height));
    can->TextOutA(10,10,"name");
    delete can;
    ReleaseDC(BitBtn1->Handle,dc);
      

  3.   

    TCanvas不过是封装了的一个类,底层还是调用GDI,如画线可直接调用GDI LineTo~~~传递窗体HDC给Canvas实例,也可利用该Canvas实例进行绘图~~~
      

  4.   

    en 找到方法了,Tcanvas好用点。