程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> DELPHI中實現百葉窗效果

DELPHI中實現百葉窗效果

編輯:Delphi

所謂百葉窗效果,就是將畫布分成若干個區域,各區域以漸進方式同時復制圖形,就象翻動的百葉窗一樣.以下就是一個顯示特效的過程實例:首先,新建一個工程,在窗體上添加兩個IMAGE控件,在控件IMAGE1的PICTURE屬性中導入一幅位圖(*.bmp),並將IMAGE1的VISIBLE屬性設為FALSE。然後,在代碼窗口中定義如下過程:

procedure TForm1.fan;
var r1:Trect;
list,r,every:integer;
begin
list:=1;
every:=trunc(screen.Height/10)+1;
While list<=every do
begin
for r:=0 to 10 do begin
r1:=rect(0,r*every,screen.Width,R*every+list);
image2.Canvas.CopyRect(r1,image1.Canvas,r1);
end;
update;
Inc(list);
end;
end;

以後就可以在程序中需要的地方調用了。下面就讓我們看一下這是如何實現的,代碼中RECT(X1,Y1,X2,Y2)表示選定的矩形范圍,(X1,Y1)是矩形左上角坐標,(X2,Y2)是矩形右下角坐標。圖形顯示由COPYRECT(R1,CANVAS,R2)完成,其中R1是目標區域,R2是被復制區域,CANVAS是被復制對象(它也可以是一個TBITMAP的實例)。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved