有“背景”的窗体

 

    许多网页都有背景图案,这样可以使页面看起来更加醒目。不过在Delphi 里你也可以设计这种类型的窗体。马上会想到的一个方法就是使用i mage 构件,然后指定一幅图片就可以啦。这样做当然是可行的,但是一幅可以充满整个窗体的BMP图,要占用很多的内存空间,这样就划不来了。最好的办法是只下载一幅很小的BMP 图,然后把它粘贴到整个窗体上。
  这里我没有采用Image 构件,而是使用了Bitmap 构件,用它来下载一幅很小的位图。首先是在窗体的Public 部分加入变量定义:Bitmap :TBitmap ;3701-1.gif (4168 bytes)然后在窗体的On—Create 事件中生成此对象,代码如下:
  procedure TForm1.FormCreate(Sender :TObject);begin Bitmap :=TBitmap .Create ;Bitmap .LoadFromFile('1.bmp');//图文件1.bmp 只有1KB大小end ;第三步是在窗体的OnPaint 事件中把位图的图案粘贴到整个窗体上。添加代码如下:procedure TForm1.FormPaint(Sender :TO—bject);varx,y:In—teger ;begin y :=0;while y <Height dobeginx :=0;while x <Width dobeginCanvas .Draw(x,y,Bitmap);x :=x +Bitmap .Width ;end ;y :=y +Bitmap .Height ;end ;end ;最后不要忘了在窗体的OnDestroy事件中释放Bitmap 对象。具体代码:Bitmap .Free ;好了,这样窗体显示时就会像网页那样带有背景(如图所示),而且并没占多大的内存空间。