他的标题怎么能透明呢。我已经把GROUPbox给透明了

解决方案 »

  1.   

    什么叫透明?就是groupbox能看到他下面的东西么。。
      

  2.   

    是的  我的GrOUPBOX的背景已经可以和底面一样、但是他的CAPTION文字后面有一块白色的看着觉得恶心
      

  3.   

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

  4.   

    interface
    uses Windows, Messages, Controls, Classes, StdCtrls, ExtCtrls;
    type
      TTransGroupBox = class(TGroupBox)
      private
      protected
        procedure WMEraseBkGnd(Var msg:TWMEraseBkGnd); message WM_ERASEBKGND;
      public
        procedure CreateParams(Var params: TCreateParams); override;
      published
      end;
     TTransRadioGroup = class(TRadioGroup)
      private
      protected
        procedure WMEraseBkGnd(Var msg:TWMEraseBkGnd); message WM_ERASEBKGND;
      public
        procedure CreateParams(Var params: TCreateParams); override;
      published
      end;
    procedure Register;
    implementation
    { TTransGroupbox }
    procedure TTransGroupbox.CreateParams(Var Params: TCreateParams);
    begin
      inherited CreateParams(params);
      Params.ExStyle := Params.ExStyle or WS_EX_TRANSPARENT;
    end;
    procedure TTransGroupbox.WMEraseBkGnd(Var msg: TWMEraseBkGnd);
    begin
      SetBkMode(Msg.DC, Windows.TRANSPARENT);
      Msg.result := 1;
    end;
    { TTransRadioGroup }
    procedure TTransRadioGroup.CreateParams(Var Params: TCreateParams);
    begin
      inherited CreateParams(params);
      
      

  5.   

    Params.ExStyle := Params.ExStyle or WS_EX_TRANSPARENT;
    end;
    procedure TTransRadioGroup.WMEraseBkGnd(Var msg: TWMEraseBkGnd);
    begin
      SetBkMode(Msg.DC, Windows.TRANSPARENT);
      Msg.result := 1;
    end;
    procedure Register;
    begin
      RegisterComponents('Transparent-VCL', [TTransGroupBox,TTransRadioGroup]);
    end;
      

  6.   

    ??我10月6号没上CSDN啊,什么时候发了这段代码?
      

  7.   

    Delphi xe4 默认已经是透明的了