许多网页都有
背景图案,这样可以使页面看起来更加醒目。不过在DELPHI里你也可以设计这种类型的窗体。马上会想到的一个方法就是使用IMAGE构件,然后指定一幅图片就可以啦。这样做当然是可行的,但是一幅可以充满整个窗体的BMP图,要占用很多的内存空间,这样就划不来了。最好的办法是只下载一幅很小的BMP图,然后把它粘贴到整个窗体上。
? 这里我没有采用Image 构件,而是使用了Bitmap构件,用它来下载一幅很小的位图。?首先是在窗体的Public部分加入变量定义:Bitmap :TBitmap ;然后在窗体的OnCreate事件中生成此对象,代码如下:
procedure TForm1.FormCreate(Sender:Tobject);
begin Bitmap:=TBitmap.Create;?
Bitmap.LoadFormFile(1.bmp);//图文件1.bmp 只有1KB大小?
end;
第三步是在窗体的OnPaint事件中把位图的图案粘贴到整个窗体上。添加代码如下:?
procedure TForm1.FormPaint(Sender:Tobject)
var x,y:integer;
begin y:=0;
while y$#@60;Height
do begin X:=0;
while X$#@60;Width
do begin cancas.Draw(X,Y,Bitmap);?
X:=X+Bitmap.Width;
end;
Y:=Y+Bitmap.Heigth;
end;
end; ?
? 最后不要忘了在窗体的OnDestory事件中释放Bitmap对象。具体代码:Bitmap.Free ;好了,这样窗体显示时就会像网页那样带有背景,而且并没占多大的内存空间。
查看本文来源