☆TShellResourcesって?
ヘルプによるとVistaのシェルアニメーションは、システムの外部からアクセスできなくなっているらしく、TShellResourcesはこのアニメーションリソースを提供するようです。まあ、ソースを見てもリソースのためだけに用意されていることが明らかですけどね。ということで、このリソース(CopyFiles)を表示させてみました。
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ShellAnimations, ComCtrls, StdCtrls;
type
TForm1 = class(TForm)
Animate1: TAnimate;
Animate2: TAnimate;
ShellResources1: TShellResources;
Label1: TLabel;
Label2: TLabel;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
// XP
Animate1.CommonAVI := aviCopyFiles;
Animate1.Active := True;
// Vista(TShellResourcesより)
// リソースエディターでIDを調べました。
Animate2.ResID := 160; // CopyFiles.res
Animate2.ResHandle := hInstance;
Animate2.Active := True;
end;
end.
実行させるとこんな感じ・・・。
ご覧のように少しイメージが異なります。 ヘルプには「TShellResources は、Vista で実行され、共有ライブラリからアニメーションを使用するプログラムにのみ使用してください。それ以外の場合は、必要のないオーバーヘッドを増やすだけです。 」とありますが、この微妙な差が気に入った方は使ってみてはいかが(笑)
| 固定リンク
