我是在formshow里编写的一个让图片由中间向四周显示的程序.但是不行。没有显示的。这些放在buttonclick事件里就是可以应用的.为什么啊.
我的代码如下:
procedure TForm10.Label2Click(Sender: TObject);
var
hdc1,hdc2:hdc;
w,h,i,j:integer;begin
w:=150;
h:=150;
form10.Repaint;
//Image1.Visible:=true;
paintbox1.Refresh();
hdc2:=paintbox1.Canvas.Handle;
hdc1:=image1.Canvas.Handle;
j:=w div 2;
i:=h div 2;
while (i>0) do
begin
bitblt(hdc2,i,j,w-2*i,h-2*j,hdc1,i,j,srccopy);
i:=i-2;
j:=j-2*h div w;
sleep(20);
end;end;
我的代码如下:
procedure TForm10.Label2Click(Sender: TObject);
var
hdc1,hdc2:hdc;
w,h,i,j:integer;begin
w:=150;
h:=150;
form10.Repaint;
//Image1.Visible:=true;
paintbox1.Refresh();
hdc2:=paintbox1.Canvas.Handle;
hdc1:=image1.Canvas.Handle;
j:=w div 2;
i:=h div 2;
while (i>0) do
begin
bitblt(hdc2,i,j,w-2*i,h-2*j,hdc1,i,j,srccopy);
i:=i-2;
j:=j-2*h div w;
sleep(20);
end;end;
如果是的话,就当然不行了!!至少,直接用是不行的……
不过你可以用:
paintbox1.Canvas.draw(0,0,image1.picture.graphic);
这个函数来绘制背景。
行的话,就给我加点分吧!!当然是越多越好了,呵呵,说着玩得……
祝你好运!!