最近要做一个,透明桌面始终,要求像电视里面右上的时钟显示的那种效果。
主要难点:不知道如何实现,窗体和控件的透明。算法可以省略。
其实也就是 如何在透明的窗体上显示不断变化的文本?望各位高手给予指点。

解决方案 »

  1.   

    设置窗体的AlphaBlend属性为True
    修改AlphaBlendValue 为150运行看看
      

  2.   

    To hangguojun(布丁)  要求上面依然显示数字。
    TO zwjchina(蒲石)  这样的话上面的所有的控件 都成半透明了,包括控件上面的数字都半透明了。和SetLayeredWindowAttributes 功能差不多了,能不能只是窗体和控件透明,但是控件上的文本不透明?或者用其他方式动态显示文本?
      

  3.   

    希望对你有用
    ---->
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, FR_Class, StdCtrls, ExtCtrls;type
      TForm1 = class(TForm)
        Button1: TButton;
        Timer1: TTimer;
        procedure FormCreate(Sender: TObject);
        procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
          Y: Integer);
        procedure Timer1Timer(Sender: TObject);
      private
        procedure SetFormAsText(AStr:string);
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
    var
      vStr:string;
    begin
      vStr:=formatdatetime('hh:mm:ss',time);
      SetFormAsText(vStr);
    end;procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    begin
      ReleaseCapture;
      Perform(WM_SYSCOMMAND,$f012,0);
      //上面两句是用来拖动窗体
    end;procedure TForm1.SetFormAsText(AStr: string);
    var
      rgn:HRGN;
    begin
      BeginPath(Canvas.Handle);
      SetBkMode( Canvas.Handle, TRANSPARENT );
      Canvas.Font.Name:= '宋体';
      Canvas.Font.Size:=100;
      Canvas.TextOut( 20, 20, AStr);//用AStr作为form的形状
      EndPath(Canvas.Handle);
      rgn:= PathToRegion(Canvas.Handle);
      SetWindowRgn( Handle, rgn, true );
    end;procedure TForm1.Timer1Timer(Sender: TObject);
    var
      vStr:string;
    begin
      vStr:=formatdatetime('hh:mm:ss',time);
      SetFormAsText(vStr);
    end;end.
      

  4.   

    该时钟是否一定要是一个窗口? 如果不用的话直接在Desktop上画图
      

  5.   

    要数字显示的,不要画圆的。
    我去试试merkey2002(小样的) 的如何,继续
      

  6.   

    TO:merkey2002(小样的) 谢谢!完全符合要求。不胜感激,有兴趣加我QQ:35109207
    以后多多交流