Определение и использование курсора
|
Если твоя мама - женщина, если Клава - для тебя имя, а мышь - грызун, то ты "ламер"!!!
|
Сначала (поскольку многие попадаются в эту ловушку) убедитесь в том, что имя
.RES-файла, в котором вы храните ваш курсор, отличается от имени .RES-файла
вашего проекта, т.е., если ваш проект имеет имя MyApp.DPR, то не используйте для
хранения новых ресурсов файл MyApp.RES. Вы должны создать отдельный .RES-файл с
другим именем (например, MyApp01.RES) и включить его в ваш проект, например
так:
implementation
{$R MyApp01.Res}
|
Вы не можете назначить курсор свойству компонента Cursor или DragCursor из
.RES-файла напрямую, необходимо выполнить несколько промежуточных шагов. В
каждом проекте Delphi определяет глобальный объект с именем Screen (тип
TScreen), который, между прочим, определяет массив курсоров, называемый, как ни
странно, Cursors. Когда вы щелкаете на свойстве Cursor/DragCursor в Инспекторе
объектов, выпадающий список и есть список элементов указанного массива.
Для предустановленных курсоров Delphi использует элементы массива с индексами
начиная с -1 и ниже (т.е. только отрицательные числа), поэтому собственные
курсоры вы можете размещать с порядковым номером, начинающимся с нуля и выше.
Для начала определите константу, допустим так:
Далее необходимо загрузить курсор. Сделать это можно в обработчике события
формы OnCreate:
Screen.Cursors[MyCursor] := LoadCursor(HInstance, 'MYCURSOR');
|
Затем просто установите в свойстве DragCursor любого элемента управления:
MyListbox.DragCursor := MyCursor;
|
Примечание: имя вашего курсора всегда должно писаться в ВЕРХНЕМ регистре, как
при вызове LoadCursor, так и в его названии в .RES-файле.
|