如何给listview画背景或让它透明 (20分)

  • 主题发起人 主题发起人 wy0311
  • 开始时间 开始时间
W

wy0311

Unregistered / Unconfirmed
GUEST, unregistred user!
如何给listview画背景或让它透明


(我是指画背景,而不是在上面画前景(作图))
 
一个例子:

function Tform1.memopain:boolean;
var
MyCanvas: TControlCanvas;
Begin
MyCanvas:=TControlCanvas.Create;
Mycanvas.control:=memo1;//想在memo1上作画
With Mycanvas do
Begin
//这里可以更改为你的作图程序
Brush.Color := clBtnFace;
MoveTo ( 33, 0 );
Brush.Color := clWhite;
LineTo ( 33, ClientHeight );
end;
End;
 
如何想让它透明

可以参看coolcontrols里面的套件
 
用api肯定
 
用delphi6的话,可以把form设成透明的,只要listview的背景色是form的透明色,就可以透明了
 
to:finity and all people
如果我的form画了背景呢?
我用的是delphi5
 
我是想让listview透明显示form上画的背景。
 
关于自绘LISTVIEW的经验。
http://www.delphibbs.com/delphibbs/dispq.asp?lid=780975
 
试试使用CreateParams设置它的风格.
 
TO:小雨哥
CreateParams参数怎么用?
能不能提供一个简单的使用实例呀。
我在另外的一个应用中要用到CreateParams来设定。
 
你需要对 ListView 执行 CreateParams,这意味着你需要继承 ListView 建自己的控件.
这里对 Form 执行 CreateParams 示例如下:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
type
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
procedure CreateParams(var Params: TCreateParams); override;
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
{ TForm1 }
procedure TForm1.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
Brush.Style := bsClear;
end;
end.
 
多人接受答案了。
 
后退
顶部