Анимированная игра курсора - PullRequest
0 голосов
/ 19 декабря 2011

У меня есть форма "TForm1" с одним "TAnimate1". У меня есть один ресурс AVI в качестве имени файла «Animate 01.avi» с идентификатором ресурса «AVI» и один «Анимированный курсор» в качестве имени файла «Курсор 01.ani» с идентификатором ресурса «8». Я хочу воспроизвести «Animate 01». avi "on" FormCreate "событие и установить курсор по умолчанию как" 8 ". Я использую "Delphi XE2".

Пожалуйста, скачайте файл моего проекта с "http://hotfile.com/dl/137675080/34f701f/KoushikHalder01.7z.html" и скажите, где исправить.

1 Ответ

2 голосов
/ 27 декабря 2011

Хорошо, скачано ...

Сначала вы помещаете avi в раздел 'RCDATA'.Как я уже сказал, это не сработает.Animate control загружает AVI-файл типа AVI.Таким образом, эта строка

AVI RCDATA "KoushikHalder.avi"

в вашем файле '.rc' должна быть на самом деле:

AVI AVI "KoushikHalder.avi"

Вы можете указать для идентификатора все что угодно, но тип ресурса должен быть AVI .

Во-вторых, вы должны загрузить avi по идентификатору ресурса .Вы дали ему идентификатор AVI.Таким образом, эта строка в вашем коде:

Animate01.ResName :='KoushikHalder.avi';

на самом деле должна быть:

Animate01.ResName :='AVI';

В-третьих, ваш файл .ani не соответствует стандартам.См. этот вопрос для деталей.Вы не сможете загрузить этот ани-файл, если не исправите его.

В-четвертых, вы неправильно загружаете ани-файл.Это идентификатор не '8', а 8. Это следующая строка:

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

Должно быть

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

(или Pointer (8) ..).

Наконец, вы должны установить курсор где-нибудь на свой ани-файл, чтобы вы могли его видеть.Например:

Screen.Cursor := 8;

или

BitBtn01.Cursor := 8;

Надеюсь, это поможет ...

...