Вниз
Скачать: CL | DM;

Как использовать свой курсор?   Найти похожие ветки 

← →
Андрей235   (2005-08-08 13:04) [0]

Я создал курсор в *.res файле как его использовать?


← →
Юрий Зотов ©   (2005-08-08 13:34) [1]

Пример есть в справке (объект TScreen, свойство Cursors, вверху страницы есть линк "Delphi example"). Даю перевод.

Этот пример показывает, как добавить свой курсор в программу. Предполагается, что свой курсор имеет имя NewCursor и был добавлен в файл ресурсов (.RES файл) программы. Вы можете добавить курсор используя Image Editor (меню Tools | Image Editor).

Следующий код делает этот курсор доступным для программы через константу crMyCursor и устанавливает его, как глобальный курсор программы.

const
 crMyCursor = 5;

procedure TForm1.FormCreate(Sender: TObject);
begin
 Screen.Cursors[crMyCursor] := LoadCursor(HInstance, "NewCursor");
 Cursor := crMyCursor;
end;


От себя добавлю, что имена ресурсов чувствительны к регистру, поэтому, если в данном примере написать, скажем
LoadCursor(HInstance, "newcursor")
то ресурс курсора найден не будет. Чтобы не путаться, лично я предпочитаю всегда использовать для имен ресурсов только заглавные буквы.

Еще добавлю, что таким же образом можно добавить в программу и несколько курсоров. Числовые константы для них можно выбирать любыми, но обязательно больше нуля (ноль и отрицательные числа зарезервированы под системные курсоры). Вот пример, в котором форме назначается один курсор, а расположенному на ней компоненту RichEdit1 - другой курсор.

const
 crFormCursor = 1;
 crEditCursor = 2;

procedure TForm1.FormCreate(Sender: TObject);
begin
 Screen.Cursors[crFormCursor] := LoadCursor(HInstance, "FORMCURSOR");
 Screen.Cursors[crEditCursor] := LoadCursor(HInstance, "EDITCURSOR");
 Cursor := crFormCursor;
 RichEdit1.Cursor := crEditCursor;
end;


← →
Андрей235   (2005-08-08 19:00) [2]

Юрий Зотов, огромное тебе спасибо!!!!



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.024 c
2-1123662475
ArtGal
2005-08-10 12:27
2005.09.11
Имя компа


2-1123366404
msm
2005-08-07 02:13
2005.09.11
Преобразование минуты:секунды в секунды


14-1123345904
Eraser
2005-08-06 20:31
2005.09.11
VMWare и Multicast


1-1124779960
ChILP
2005-08-23 10:52
2005.09.11
rxStrUtils


14-1124150388
User`
2005-08-16 03:59
2005.09.11
Тормозит клавиатура (не смешно)




   Наверх