如何在程序运行状态改变窗体的背景?(50分)

  • 主题发起人 主题发起人 huangyanming
  • 开始时间 开始时间
H

huangyanming

Unregistered / Unconfirmed
GUEST, unregistred user!
我在改变背景按钮点击事件中这样写道:
procedure Tfrm_main.N5Click(Sender: TObject);
begin
OpenPictureDialog1.Execute;
if openpicturedialog1.FileName<>' ' then
begin
image_client.Picture.LoadFromFile(openpicturedialog1.FileName);
image_client.Canvas.Draw(0,0,image_client.Picture.Graphic );
image_client.Align:=alclient;
end;
end;
为何没有更新,是不是没有重画的原因?请高手指点!最好写出程序片段,小弟感激不尽!
 
楼主为什么还要Draw一次呢?
图片已经都在image_client中显示出来的啊
这种问题是在image_client的stretch设置为False就应该对了。
 
begin
If Not OpenPictureDialog1.Execute then
Exit;
image_client.Picture.LoadFromFile(openpicturedialog1.FileName);
end;
// All Ok
 
楼上都说了,作个记号吧
 
image_client如果是TImage就应该对,并且不用Draw也行的
其它的我试了,没问题啊
 
if OpenPictureDialog1.Execute then
begin
image_client.Picture.LoadFromFile(openpicturedialog1.FileName);
end;
 
to大家:我试过了,我是作主窗体界面的背景的,以前有背景图片,只是想在程序运行过程中改变为别一幅,或者设置为无图片。我试过了,就是不Draw也不行,就是无法刷新试的。请高手分析是怎么回事,是不是计算机执行太慢的 原因 。
 
image_client.Refresh;
 
大家可能不太明白我的意思或者没有在真实环境中用过 。我的意思是说当窗体设为主窗体时,在客户区中设置背景图片,当改变背景图片呀,图片不会自动更新,即使更新了,会以一个小图片显示,并且原图片还保留在上面。当然,在一个单独的窗体中可以,但为何当窗体设为主窗体时就不行了吗?急用!!
 
后退
顶部