他的標題怎么能透明呢。。。。我已經把GROUPbox給透明了
uj5u.com熱心網友回復:
在線等答案、、、大神快來吧uj5u.com熱心網友回復:
什么叫透明?就是groupbox能看到他下面的東西么。。uj5u.com熱心網友回復:
你不是在線等嗎??uj5u.com熱心網友回復:
是的 我的GrOUPBOX的背景已經可以和底面一樣、。。。但是他的CAPTION文字后面有一塊白色的。。。看著覺得惡心uj5u.com熱心網友回復:
你是如何實作透明的?uj5u.com熱心網友回復:
GroupBox1.Brush.Style := bsClear;SetWindowLong(GroupBox1.Handle,GWL_EXSTYLE,GetWindowLong(GroupBox1.Handle, GWL_EXSTYLE) or WS_EX_TRANSPARENT);
uj5u.com熱心網友回復:
interfaceuses 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);
uj5u.com熱心網友回復:
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;
uj5u.com熱心網友回復:
謝謝你了、、、、uj5u.com熱心網友回復:
??我10月6號沒上CSDN啊,什么時候發了這段代碼?uj5u.com熱心網友回復:
Delphi xe4 默認已經是透明的了轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/130895.html
