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