Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.09.11;
Скачать: 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 вся ветка

Текущий архив: 2005.09.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.051 c
14-1124261462
asdqwer
2005-08-17 10:51
2005.09.11
Rb_tree


4-1121968641
Андрей Молчанов
2005-07-21 21:57
2005.09.11
Получить названия специальных папок


1-1124514569
Navi
2005-08-20 09:09
2005.09.11
Сохранить положение сплиттера


14-1124362119
kyn66
2005-08-18 14:48
2005.09.11
Программа для защиты CD от копирования и виртуализации


1-1123948940
ArtemESC
2005-08-13 20:02
2005.09.11
Быстрое удаление байта в TMemoryStream