2011-12-19 6 views
-1

私は1つの "TAnimate1"を持つフォーム "TForm1"を持っています。私はリソース識別子 "AVI"を持つファイル名 "Animate 01.avi"とリソース識別子 "8"を持つファイル名 "Cursor 01.ani"として1つの "Animated Cursor"として1つのAVIリソースを持っています。 「FormCreate」イベントで「avi」を選択し、デフォルトのカーソルを「8」に設定します。私は「Delphi XE2」を使用しています。アニメーションカーソルの再生

「http://hotfile.com/dl/137675080/34f701f/KoushikHalder01.7z.html」から私のプロジェクトファイルをダウンロードし、修正する場所を教えてください。

+0

...このことができます願っています。また、ファイル名とリソースIDの両方を指定しましたか、ファイルやリソースからロードしていますか?また、リソース '識別子'と 'タイプ'を混在させていませんか?アニメーションコントロールはAVIリソースからAVIを読み込み、AVI識別子を持ちます(おそらくタイプ?)。 –

+0

私の知る限りでは、いくつかの小さな誤りを除いてすべてを行っています。ダウンロードして確認して、どこに記入するか教えてください。お願いします。 –

答えて

2

ダウンロードし、[OK]を...

まず、あなたは 'RCDATA' セクションでaviファイルを入れています。私がすでに言ったように、それはうまくいかないでしょう。アニメーションコントロールは、AVIタイプのaviファイルを読み込みます。だから、この行あなたの「.RC」ファイル内

AVI RCDATA "KoushikHalder.avi"

は、実際には次のようになります。

AVI AVI "KoushikHalder.avi"

あなたはIDのために好きな置くことができますが、リソースタイプはAVIでなければなりません。


第2に、リソース識別子で、aviをロードします。あなたはそれのために 'AVI'識別子を与えました。だからあなたのコードでこの行:

Animate01.ResName :='KoushikHalder.avi'; 

は、実際には次のようになります。

Animate01.ResName :='AVI'; 


第三に、あなたの '.ANI' ファイルは標準に準拠していません。詳細については、this questionを参照してください。あなたが修正しない限り、そのaniファイルをロードすることはできません。


第4に、aniファイルを正しく読み込んでいません。

Screen.Cursors[8] := LoadCursor(HInstance, '8'); 

があるべき

Screen.Cursors[8] := LoadCursor(HInstance, MakeIntResource(8)); 

(またはポインタ(8)。):それは、それは8だから、下の行の識別子が '8' されていないのです。


最後に、アニメーションファイルのどこかにカーソルを設定する必要があります。例えば:

Screen.Cursor := 8; 

または

BitBtn01.Cursor := 8; 



私は、問題の関連するコード部分を含んで良い

+0

ありがとうございました。今はaviリソースが再生されていますが、ANIカーソルの問題はまだあります。私はあなたに応じてすべてのことをコメントしました。しかし、あなたは "aniファイルが標準に準拠していない"と言っていますが、その基準を教えてください。私はどのファイルからもANIカーソルを再生したくない。私はリソースだけからプレイする必要があります。 –

+0

@Koushik - リンクされた質問に対する回答を読んでください。それはなぜ 'ani'ファイルが* bad *であるのかを説明し、 'ani'を動作させるための2つの異なる方法を提供します。良い 'ani'を手に入れたら、そのファイルをリソースファイルに組み込み、アプリケーションをビルド*します。 –