请教textout输出的字符为何老是有背景色?多谢指点

解决方案 »

  1.   

    这样就可以
    Graphics::TBitmap *Bmp = new Graphics::TBitmap;
    int OldBkMode;
    try
    {
      Bmp->LoadFromFile("I:\\earth.bmp");
      Form1->Canvas->Draw(0,0,Bmp);
      Form1->Canvas->Font->Color=clRed; //此处必须要否则看不到文字
      Form1->Canvas->Font->Size=12;
      Form1->Canvas->TextOutA(10,20,"Not Transparent!");
      OldBkMode=SetBkMode(Form1->Canvas->Handle, TRANSPARENT);
      Form1->Canvas->TextOut(100, 150, "Transparent!");
      SetBkMode(Handle, OldBkMode);
    }
    __finally
    {
      delete Bmp;
    }
      

  2.   

    canvas.Brush.Style:=bsclear;
      canvas.Font.Color:=clred;
      canvas.TextOut(10,10,'要显示的字符');
      

  3.   

    同意楼上 cfqdream(软艺)的,
    canvas.Brush.Style:=bsclear;
    这句最关键!