Анимированный курсор в Вашем приложении
procedure TForm1.FormCreate(Sender: TObject);
const
crMyCursor = 22391; // случайное число
begin
Screen.Cursors[crMyCursor] :=
LoadCursorFromFile(ExtractFilePath(Application.ExeName) + 'cursor.ani');
Screen.Cursor := crMyCursor;
end;
Константа курсора должна быть больше нуля, в противном случае возникнут конфликты с предопределенными константами курсоров системы. Если Вы хотите использовать курсор и с другими процедурами, константа курсора должна быть глобальной, т.е., например, объявлена в разделе private данной формы.
Справка находится в разделе TScreen, Cursors и Examples как интегрировать собственные курсоры из ресурсов.
Загрузка курсора с диска
Для загрузки анимированного курсора с диска, нужно загрузить его в массив курсоров объекта TScreen. Курсоры Windows в массиве курсоров имеют отрицательный индекс. Пользовательские курсоры имеют положительный индекс. Ниже приведен пример, как использовать анимированный курсор, загруженный с диска.
procedure TForm1.FormCreate(Sender: TObject);
var
h: THandle;
begin
h:= LoadImage(0, 'C:\AniCursor.ani',
IMAGE_CURSOR, 0, 0,
LR_DEFAULTSIZE or LR_LOADFROMFILE);
if h = 0 then ShowMessage('Курсор не может быть загружен')
else begin
Screen.Cursors[1]:= h;
Form1.Cursor:= 1;
end;
end;
Комментарии