当点击按钮时,加载一个图片并显示出来,但是现在第一次点击时图片闪烁一下,就不显示了,第二次点击时又是正常显示,
请各位帮忙看一下,这是为什么?谢谢!
源代码如下:var
  FBackPicture:TGraphic;
  FilePath:string;
procedure TForm1.Button3Click(Sender: TObject);
begin
     FilePath:='D:\123.bmp';
     PageControl1.Left:=0;
     PageControl1.Top:=0;
     PageControl1.Width:=self.ClientWidth;
     PageControl1.Height:=self.ClientHeight;
     FBackPicture.LoadFromFile(FilePath);
     PageControl1.Canvas.StretchDraw(Rect(0,0,self.ClientWidth,self.ClientHeight),FBackPicture);
end;

解决方案 »

  1.   

    FBackPicture怎么没看到创建的地方?
      

  2.   

    FBackPicture是一个公有变量,它的创建是在窗口显示的时候就已经创建了.
      

  3.   

    试了一下,把buttom放在最上端(PageControl1上)就没问题
      

  4.   

    把DoubleBuffered属性打开 打开双缓冲就不会闪了procedure TForm1.FormCreate(Sender: TObject);
    begin
      Self.DoubleBuffered := True;
    end;
      

  5.   

    PageControl1.DoubleBuffered  := True;
      

  6.   

    奇了怪了,还是不行,
    对了,我用的是delphi5.0
      

  7.   

    //欢迎访问www.googler.cc 
    PageControl1.Left:=0;
         PageControl1.Top:=0;
         PageControl1.Width:=self.ClientWidth;
         PageControl1.Height:=self.ClientHeight;
         PageControl1.Refresh;
         FilePath:='c:\1.bmp';
         FBackPicture := TBitmap.Create;
         FBackPicture.LoadFromFile(FilePath);
         PageControl1.Canvas.StretchDraw(Rect(0,0,PageControl1.Width,PageControl1.Height),FBackPicture);