![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как использовать свой курсор?
Андрей235 © (2005-08-08 13:04:00)Я создал курсор в *.resфайле как его использовать?
Андрей235 (2005-08-08 19:00:00) [1]Юрий Зотов, огромное тебе спасибо!!!!
Юрий Зотов (2005-08-08 13:34:00) [2]Пример есть в справке (объект 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;