ActiveX Form的透明性(100分)

  • 主题发起人 主题发起人 lixiaoheng
  • 开始时间 开始时间
L

lixiaoheng

Unregistered / Unconfirmed
GUEST, unregistred user!
在 vb中可以设置form的透明性,但是在delphi中如何实现这一问题?
 
拦截CMEraseBKgnd消息,并将窗体画刷的style属性设为bsclear,就可实现
 
透明FORM

将一个FORM变成透明的实质性手段就是拦截CMEraseBkgnd消息。
unit Utransform
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls
type TForm1 = class(TForm)
private { Private declarations }
public { Public declarations }
PROCEDURE CMEraseBkgnd(var Message:TWMEraseBkgnd);Message WM_ERASEBKGND;
end;
var Form1: TForm1;
implementation
{$R *.DFM}
PROCEDURE Tform1.CMEraseBkgnd(var Message:TWMEraseBkgnd);
BEGIN
brush.style:=bsClear;
Inherited;
END;
end.



 
多人接受答案了。
 
各位大哥,上面的程序是否有时会带上其他背景,怎么解决的,帮帮忙(activeform上放了
一透明图片)
 
后退
顶部