咔吧6那种窗体淡去的效果谁会啊? ( 积分: 200 )

  • 主题发起人 主题发起人 sz_toto
  • 开始时间 开始时间
procedure TForm1.Button1Click(Sender: TObject);
begin
AlphaBlend:=True;
while AlphaBlendValue>10 do
AlphaBlendValue:=AlphaBlendValue-10;
Close
end;
 
楼上的在此期间看不到效果的.

应该这样
procedure TForm1.Button1Click(Sender: TObject);
const
acInterval = 125;
acPerValue = 10;
var
dwEndTick: Cardinal;
function __max(const a, b: Integer):Integer;
begin
if a > b then
Result := a
else
Result := b;
end;
begin
AlphaBlend := true;
AlphaBlendValue := $FF;
dwEndTick := GetTickCount() + Round($FF / acPerValue * acInterval);
while AlphaBlendValue > 0 do
begin
AlphaBlendValue := __max(0, Trunc((dwEndTick - GetTickCount()) / acInterval) * acPerValue);
Application.ProcessMessages;
end;
Close;
end;
 
to 楼上:
俺一般是在机器上验证过了的代码才发的,[:)]
 
都可以吧...
 
后退
顶部