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

[入库:2005年8月18日] [更新:2007年3月25日]

本文简介:选择自 showman 的 blog


  许多网页都有背景图案,这样可以使页面看起来更加醒目。不过在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;好了,这样窗体显示时就会像网页那样带有背景,而且并没占多大的内存空间。

本文关键:delphi
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top