Главная страница
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.04 c
9-1116200825
Mortis
2005-05-16 03:47
2005.09.11
3ds in Delphi


14-1124186487
PVOzerski
2005-08-16 14:01
2005.09.11
Перестал загружаться комп с 98-ми - в какую сторону копать?


1-1124425972
Ксардас
2005-08-19 08:32
2005.09.11
Как в ричэдите отловить нажатие pageup и pagedown?


8-1113826592
seregka
2005-04-18 16:16
2005.09.11
Лассо на изображение


14-1124122766
Andy BitOff
2005-08-15 20:19
2005.09.11
Как узнать что это за адреса?