Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.07.18;
Скачать: CL | DM;

Вниз

Свой Cursor   Найти похожие ветки 

 
Radgar ©   (2005-06-28 19:19) [0]

Подскажите, пожалуйста, как испоьзовать (сделать) свой курсор.


 
Гаврила ©   (2005-06-28 19:28) [1]

Для начала надо его нарисовать в каком-либо редакторе (например, это умеет делать вижуал студия) ,
потом как ресурс подкючить к сборке  ( {$R Mycursor.res} )
потом загрузить (LoadCursor)
потом выставить
Screen.Cursor:=<MyCursor>


 
Radgar ©   (2005-06-28 19:31) [2]

А у Дельфи для этого нету какой-нибудь встроенной программы/компонента?


 
Просто Джо ©   (2005-06-28 19:36) [3]


>  [2] Radgar ©   (28.06.05 19:31)
> А у Дельфи для этого нету какой-нибудь встроенной программы/компонента?

ImageEditor


 
Radgar ©   (2005-06-28 19:41) [4]

Это у всех так мало цветов(синий, желтый, белый, черный) или только у меня?

Вопрос: нельзя ли цветной курсор?


 
capkoh   (2005-06-28 21:16) [5]

Программа есть ArtCursors от Aha-Soft
Перед тем как Screen.Cursor:=<MyCursor>, лучше сохранить текущий курсор old_cur := Screen.Cursor, а потом уже Screen.Cursor := new_cur, тюк тебе нужно же вернуть старый курсор.


 
Radgar ©   (2005-06-28 23:01) [6]

Расскажите, пожалуйста, по подробнее как подключить свой курсор к Дельфи.


 
Просто Джо ©   (2005-06-28 23:50) [7]


>  [6] Radgar ©   (28.06.05 23:01)
> Расскажите, пожалуйста, по подробнее как подключить свой
> курсор к Дельфи.

Прилинковуешь файл ресурсов с нужным курсором. Пусть, "NewCursor" - идентификатор твоего курсора в .res-файле. После этого, при старте приложения делаешь:
1. Объявляешь глобальную константу:
 crNewCursor = 1;
Значение константы должно быть больше 0, поскольку отрицательные значения зарезервированы для стандартных курсоров.
2. Загружаешь нужный курсор из ресурса функцией WinAPI LoadCursor, используя идентификатор курсора.
3. Элементу массива Screen.Cursor с порядковым номером crNewCursor присваиваешь хэндл курсора, полученный в результате вызова LoadCursor.
4. Использовать курсор в ран-тайм можно аналогично стандартным курсорам, например Image1.Cursor := crNewCursor;
Все. Уничтожать курсор при завершении программы нет необходимости, VCL сделает это сама.
 
П.С. Пункты 3-4 выглядят так:
 Screen.Cursors[crNewCursor] :=
   LoadCursor(HInstance,"crNewCursor");


 
Просто Джо ©   (2005-06-28 23:52) [8]


> П.С. Пункты 3-4 выглядят так:
>  Screen.Cursors[crNewCursor] :=
>    LoadCursor(HInstance,"crNewCursor");


-->


>  Screen.Cursors[crNewCursor] :=
>    LoadCursor(HInstance,"NewCursor");

Убегаю за пивом, опечатался :)


 
Radgar ©   (2005-06-29 19:07) [9]


> Просто Джо ©  


А как добавить в *.res файл цветной курсор?


 
Radgar ©   (2005-06-29 20:13) [10]

Ну, посоветуйте тогда хотя-бы программу, в которой можно без проблем делать цветные курсоры изагонять их в res файлы. ;-)


 
-=XP=- ©   (2005-06-29 21:17) [11]

http://www.awicons.com/


 
Radgar ©   (2005-06-29 22:27) [12]


> -=XP=- ©


А как импортировать в res?


 
КиТаЯц ©   (2005-06-30 08:58) [13]

Проще. Есть два анимированных курсора. Созданы программой AWicons (http://www.awicons.com/awicons.html) Лежат в отдельной папке.
Подгружаем так:


procedure TMainForm.LoadAniCursor;
 var h: THandle;
   CurPath: string;
begin
h := 0;
CurPath:= ExtractFileDir(ParamStr(0))+"\Cursors\_busy.ani";
 if FileExists(CurPath) then
 h := LoadImage(0, PAnsiChar(CurPath), IMAGE_CURSOR, 0, 0, LR_DEFAULTSIZE or LR_LOADFROMFILE);
   if (h <> 0) then Screen.Cursors[-11] := h; // подмена курсора "система занята" (часы)
h := 0;
CurPath:= ExtractFileDir(ParamStr(0))+"\Cursors\_sql.ani";
 if FileExists(CurPath) then
 h := LoadImage(0, PAnsiChar(CurPath), IMAGE_CURSOR, 0, 0, LR_DEFAULTSIZE or LR_LOADFROMFILE);
   if (h <> 0) then Screen.Cursors[-17] := h; // подмена курсора "выполняется SQL"
end;


У меня прекрасно работает.


 
-=XP=- ©   (2005-06-30 09:35) [14]

А как импортировать в res?

Компилятор ресурсов: brcc32.exe
Созадете rc-Файл (простой текстовый в блокноте):

MY_CURSOR_1 CURSOR c:\MyCur1.cur
MY_CURSOR_2 CURSOR c:\MyCur2.cur

И подсовываете его компилятору. На выходе - откомпилированный ресурсный файл (res)


 
Radgar ©   (2005-06-30 11:41) [15]

Извенните, но ещё один вопрос:

Как подключать res к Дельфи?


 
КиТаЯц ©   (2005-06-30 11:50) [16]

Ищиш в проекте где написано: {$R *.res} и следующей строчкой добавляеш {$R Cursors.res} //название файла

Искать лучше так:
1. Ctrl + F
2. Переключится на фкладку "Find in Files"
3. Вписываем {$R *.res} и жмем ОК


 
-=XP=- ©   (2005-06-30 12:00) [17]

Ищиш в проекте где написано

Не важно.


 
КиТаЯц ©   (2005-06-30 12:06) [18]

>-=XP=- ©   (30.06.05 12:00) [17]

Не знал. Даже никогда об этом не задумывался.



Страницы: 1 вся ветка

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

Наверх




Память: 0.51 MB
Время: 0.053 c
1-1119801165
Euro
2005-06-26 19:52
2005.07.18
Modal Form


4-1116857153
race1
2005-05-23 18:05
2005.07.18
замена системной функции


1-1119952704
SergZ
2005-06-28 13:58
2005.07.18
DevExpress


1-1119971983
Radgar
2005-06-28 19:19
2005.07.18
Свой Cursor


14-1119434628
Ilya__
2005-06-22 14:03
2005.07.18
Какие системы поддерживают формат WMA.