这个挺容易的,想要的话就MAIL我吧...
解决方案 »
- DBGridEh怎样关闭排序功能
- 太离谱了吧:编译好的EXE程序居然能够在运行时解释运行PASACAL代码,DELPHI能这样用?
- 我常用C#+MSSQL开发数据库应用方面的WINFORM程序,感到.NET开的程序运行太慢,数据库开发及报表方面的功能也不强大也不方便,现在想转学D
- [求助]请问在那儿查得到DELPHI的错误处理类里的ErrorCode的含意呀(英文也行)?
- 有关ActiveForm的发布,分不够再加!
- 帮帮忙吧,很急啊!!!请求一个关于判断是否对MonthCalender进行操作的问题
- 要输入的参数如何一次输入自动分开比如代理和端口在ie是分开的,在其它软件可以一次多个输入
- 一个简单的问题
- 如何用ADOconnection连接在edit中指定的SQL服务器和数据库阿,急
- 我的子MDI子窗体是静态的,为什么我一运行MDI窗体,子窗体就全部显示出来了?
- 请问哪里有有关注册表的函数或API下载?谢谢!
- 关于Variant的问题
Canvas->Draw(50,50,pBitmap);
var
jpg:TJPEGImage;
begin
jpg:= TJpegImage.Create;
jpg.LoadFromFile('F:\My Documents\Pictures\0091.jpg');
Treeview1.Canvas.Draw(0,0,jpg);
Listview1.Canvas.Draw(0,0,jpg);
jpg.Free;
end;
把绘制底图的代码放在这里,哪位可以试试,应该有用的,我没时间试了,呵呵
type
TExListView = class(TListView)
protected
procedure Paint; override;
end;
......procedure TExListView.Paint;
var
jpg:TJPEGImage;
begin
// Draw you background here
jpg:= TJpegImage.Create;
try
jpg.LoadFromFile('F:\My Documents\Pictures\0091.jpg');
Treeview1.Canvas.Draw(0,0,jpg);
Listview1.Canvas.Draw(0,0,jpg);
finally
jpg.Free;
inherited; // inherite TListViewDraw;
end;
end;
省略了控件的其它部份。如果对控件不熟,建议你通过向导创建新控件并注册。实际上很简单的。
type
TExListView = class(TListView)
protected
procedure Paint; override;
end;
......procedure TExListView.Paint;
var
jpg:TJPEGImage;
begin
// Draw you background here
jpg:= TJpegImage.Create;
try
jpg.LoadFromFile('F:\My Documents\Pictures\0091.jpg');
TExListView(Self).Canvas.Draw(0,0,jpg);
// 老外一般这样写,我常写成 Self.Canvas.Draw(0,0,jpg);
finally
jpg.Free;
inherited; // inherite TListViewDraw;
end;
end;
省略了控件的其它部份。如果对控件不熟,建议你通过向导创建新控件并注册。实际上很简单的。
Protected
procedure Paint;override;
end;
编译时报[Error] ListView1.pas(13): Method 'Paint' not found in base class
我改成了 virtual,编译通过了,安装好
但是控件如何用呀
分数我将再加
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls,jpeg;type
TListViewEx = class(TListView)
private
FBkgnd : TJPEGImage;
procedure WMEraseBkgnd(var Message: TWmEraseBkgnd); message WM_ERASEBKGND;
public
property BkGnd : TJPEGImage read FBkgnd write FBKgnd;
end;
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
FList : TListViewEx;
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.DFM}procedure TForm1.FormCreate(Sender: TObject);
var
jpg : TJpegImage;
begin
jpg:= TJpegImage.Create;
jpg.LoadFromFile ('c:\My Documents\My pictures\god.jpg');
FList := TListViewEx.Create(self);
FList.Parent := self;
FList.BkGnd := jpg;
FList.Items.Add;
FList.Items[0].Caption := 'askjdfsajfhsa';
FList.Items.Add;
FList.Items[1].Caption := 'askjdfsajfhsa'; FList.Items.Add;
FList.Items[2].Caption := 'askjdfsajfhsa';
FList.Items.Add;
FList.Items[3].Caption := 'askjdfsajfhsa';
end;{ TListViewEx }procedure TListViewEx.WMEraseBkgnd(var Message: TWmEraseBkgnd);
begin
if not Assigned(FBKGnd) then
inherited
else begin
Canvas.Lock;
try
Canvas.Handle := Message.DC;
Canvas.Draw(0,0, Bkgnd);
Canvas.Handle := 0;
finally
Canvas.Unlock;
end;
end;
end;end.
另外如果想做一个好一点的组件,以后也好用的话可以从TCustomListView继承,而 不是从TListView;