Главная страница
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.042 c
4-1121982988
Atrion
2005-07-22 01:56
2005.09.11
Проблема...перекодить несколько функций из C в Delphi...


14-1124340419
CHES
2005-08-18 08:46
2005.09.11
Архив конференции "основная" за 2004 год


14-1124420139
oldman
2005-08-19 06:55
2005.09.11
Совсем башка не варит под утро. Подскажите, в чем дело?


1-1124358762
PalPalych
2005-08-18 13:52
2005.09.11
I/O error 123


6-1116865895
ATarget
2005-05-23 20:31
2005.09.11
PIPE каналы