我在要在窗体中输出带阴影效果的字体,用TextOut和DrawText函数输出的都是单层了,就是说第二次输出的阴影把第一次输出的遮盖了,请问用什么方法可以实现呢?

解决方案 »

  1.   

    用两个Label,把它们设置为透明试试
      

  2.   

    我是用Canvas实现的,不用别的控件。
    我分两层会把第一层遮住的,请问楼上的仁兄如何分两层?
      

  3.   

    用canvas?
    在下才疏学浅,对不住
      

  4.   

    Form里面有一个Canvas嘛,我是用Form里面的Canvas输出文字,各位大侠帮帮手了,谢谢了!
      

  5.   

    用canvas是在这个画布上“描点”,当然会覆盖了。
    想输出阴影效果的字体,用两个Label很容易,OK?
      

  6.   

    procedure TForm1.Button1Click(Sender: TObject);
    begin
      SetBkMode( Canvas.Handle, Windows.Transparent );
      Canvas.Font.Size := 30;
      Canvas.TextOut(10, 10, '阴影效果的字体');
      Canvas.Font.Color := clGray;
      Canvas.TextOut(12, 12, '阴影效果的字体');
    end;