窗口背景,菜单背景(100分)

  • 主题发起人 主题发起人 sunboy
  • 开始时间 开始时间
S

sunboy

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在看到很多软件窗口和主菜单都使用一些图象做背景不知在DELPHI里如何实现
(主菜单和状态栏均以此图象做背景)
 
1.窗口背景
在Form中添加Image控件
设BMP图象name为 IMG_BK
在Foem的Create事件中写入
Self.brush.bitmap:=img_bk.picture.bitmap;
2.菜单背景
用BitBlt函数DrawItem,自己检索一下以前答案
 
同意wjiachun
 
用 AHM TritonTools 2000 吧,里面有详细例子,这组控件是我看到的差不多是最好的。
想要我可以给你发, 压缩后 17M
 
to 郭镇松,我的邮箱太小,请问哪里有下载?
 
菜单背景也可以以图象做背景? 不懂,要好好学学。

请问wjiachun:
如IE这个软件,我想把菜单上“文件(F)” 这一项的背景改一下,
简单一点好了,把背景改成红色的,请问如何实现??
 
我的也是别人发给我的,你找个免费网络硬盘吧!我发给你。
 
早晨多压了两个无用的Rar, 现在重压了一下, 12M, 呵呵,还是很大。不过它的例子
很多,而且很详细,有36个。
 
自己画...
 
lha:我可不是说别人的菜单背景,而是自己做的程序啊。
 
我建议还是加在form的onpaint事件里面去,保证是真正的背景。
次问题论坛以前的帖子有详细的讨论,看以前的帖子吧,这里回答的太简单
现在大家回帖的兴趣都不高了……字数越来越少
 
一个节约内存的办法:

使用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<Height
  do begin X:=0;
  while X<Width
   do begin cancas.Draw(X,Y,Bitmap);?
        X:=X+Bitmap.Width;
     end;
  Y:=Y+Bitmap.Heigth;
  end;
end; ?
? 在窗体的OnDestory事件中释放Bitmap对象。具体代码:Bitmap.Free ;
窗体显示时就会像网页那样带有背景,而且并没占多大的内存空间。
 
sunboy:如果你还要继续讨论请定期提前你的帖子,如果不想继续讨论请结束帖子。
 
我经常这样做啊,不难。

发个例子给你吧!
 
多人接受答案了。
 
后退
顶部