Delphi

本类阅读TOP10

·分布式网络考试系统原型分析及实现
·游戏外挂设计技术探讨①
·使用HOOK随心监视Windows
·Delphi 水晶报表打包解决
·试题库开发中非文本数据的处理
·如何将几个DBGRID里的内容导入同一个EXCEL表中....的问题
·如何使用Delphi设计强大的服务器程序
·工人线程中关闭窗体的实现
·用DLL方式封装MDI子窗体。
·支持XP下托盘栏气球提示的托盘单元

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
Delphi技巧--有“背景”的窗体

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站


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




相关文章

相关软件