Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Собственные курсоры в программе


Компьютерный магазин в каком-то городе. Заходит старушка, подходит к прилавку и говорит:
- Извините, я у вас коврик для мыши купила, так вот он не работает!
Продавцы в совершенном ох#ении смотрят на бабулю:
- Это как?
А бабуля и отвечает:
- Как как, сколько я его в сарай не клала, ни одной мыши не попалось. Может, его ядом посыпать, или приманку какую?

В этой статье вы найдёте несколько способов использования собственных курсоров, в том числе и анимированных.[это файлы с расширением .ani]

Например, у вас есть какой-то файл с расширением .ani и вы хотите его задействовать. Всё, что вам для этого потребуется сделать, это - поместить файл в тот же каталог, где будет ваш exe, а затем написать следующий код, ну, скажем, по нажатию на кнопку:


Screen.Cursors[5] := LoadCursorFromFile('File.ani');
Screen.Cursor := 5;

Здесь используется свойство Cursors глобального объекта Screen. В нём содержится список курсоров, доступных приложению. По индексу в нужную позицию мы загружаем курсор из файла. А затем с помощью свойства Cursor задействуем его.

Если же вы имеете файл ресурсов, тогда дела будут обстоять иначе:

Помещаете этот файл в тот же каталог, что и exe. Затем в модуле объявляем глобальную константу, например после


var
  Form1: TForm1;

Выглядеть это будет примерно так:


var
  Form1: TForm1;
const
  MyConst = 100;

С помощью этой константы мы зарезервируем новую позицию в свойстве Cursors глобального объекта Screen.

После чего подключаем файл ресурсов, т.е. если он у нас называется Cursors.res, тогда после


{$R *.DFM}

напишем:


{$R Cursors.res}

Затем, допустим, по нажатию на кнопку пишем код:


Screen.Cursors[MyConst] := LoadCursor(hInstance,'MYCURSOR');
Screen.Cursor := MyConst;

Здесь 'MYCURSOR' - это имя курсора, который нам необходимо загрузить. Обратите внимание, если вы создаёте файл ресурсов самостоятельно, а сделать это можно с помощью утилиты "ImageEditor", вам необходимо в именах курсоров использовать только прописные буквы.

Проект Delphi World © Выпуск 2002 - 2004
Автор проекта: ___Nikolay