Вниз
Скачать: 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.022 c
2-1123268388
Peter1
2005-08-05 22:59
2005.09.11
есть ли разница в объявлении таких процедур?


3-1122700983
cam
2005-07-30 09:23
2005.09.11
adostorecprod


6-1116844341
Alen
2005-05-23 14:32
2005.09.11
передача звука по сети


11-1106905612
MTsv DN
2005-01-28 12:46
2005.09.11
МультиВыбор в OpenSaveDialog


14-1124273711
Экспериментатор
2005-08-17 14:15
2005.09.11
$(Delphi) - где присваивается значение этой переменной?




   Наверх