半透明窗体,或控件视觉效果非常好看, 我想实现一种半透明窗体, 1, 只有 client 区域是半透明的, 其他控件等可以设置为半透明或不同名.
2, 在   client 区域, 可以划分区域的半透明处理, 请问如何实现,需要什么技术, 我在alpha中, 是整个窗体半透明,

解决方案 »

  1.   

    gbxGroupBox.Brush.Style := bsClear;
      SetWindowLong(gbxGroupBox.Handle,GWL_EXSTYLE,GetWindowLong(gbxGroupBox.Handle, GWL_EXSTYLE) or WS_EX_TRANSPARENT);
      

  2.   

    gbxGroupBox.Brush.Style := bsClear;
      SetWindowLong(gbxGroupBox.Handle,GWL_EXSTYLE,GetWindowLong(gbxGroupBox.Handle, GWL_EXSTYLE) or WS_EX_TRANSPARENT);
     g961681(Cashier)先生的这段代码行得能通吗?
    能不能具体点呀,我也想知道这问题的答案呢~~
      

  3.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, ComCtrls;type
      TForm1 = class(TForm)
        ListView1: TListView;
        GroupBox1: TGroupBox;
        procedure FormCreate(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
    begin
      GroupBox1.Brush.Style := bsClear;
      SetWindowLong(GroupBox1.Handle, GWL_EXSTYLE,
                    GetWindowLong(GroupBox1.Handle, GWL_EXSTYLE)
                    or WS_EX_TRANSPARENT);end;经过测试g961681(Cashier)是有效的,但是好像不是半透明的^_^
    把ListView放在GroupBox1后,就可以看到效果了。
      

  4.   

    "gbxGroupBox.Brush.Style := bsClear;
      SetWindowLong(gbxGroupBox.Handle,GWL_EXSTYLE,GetWindowLong(gbxGroupBox.Handle, GWL_EXSTYLE) or WS_EX_TRANSPARENT); "这代码只能实现透明的作用,  我想要的是可调节的半透明的效果, 诸位大侠帮帮忙!
      

  5.   

    up 一下需要什么相关的技术,  我看photoshop中有图层操作, 好象类市的方法, 是怎么实现的呢?????