Delphi技巧--有“背景”的窗体

    技术2022-05-11  26

    许多网页都有背景图案,这样可以使页面看起来更加醒目。不过在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   do begin X:=0;   while X   do begin cancas.Draw(X,Y,Bitmap);   X:=X+Bitmap.Width;   end;   Y:=Y+Bitmap.Heigth;   end;end; 最后不要忘了在窗体的OnDestory事件中释放Bitmap对象。具体代码:Bitmap.Free;好了,这样窗体显示时就会像网页那样带有背景,而且并没占多大的内存空间。

    最新回复(0)