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

Вниз

ANI-курсоры   Найти похожие ветки 

 
Митяй2 ©   (2002-11-07 09:48) [0]

Можно ли в ресурс помещать анимированные курсоры?

Например для обычных курсоров работает следующее:

//----------- В программе -----------------------

Screen.Cursors[1]:=LoadCursor(hinstance,"normal");
Screen.Cursors[2]:=LoadCursor(hinstance,"precision");

//----------------------------------------------------


//---------- Содержимое файла .rc --------------------

normal CURSOR normal.cur
precision CURSOR pre.cur


Можно ли аналогично использовать *.ani-файла.

P.S. Как загружать из файла - знаю (это не подходит).
С уважением, СТОРОННИК Delphi.


 
Митяй2 ©   (2002-11-09 08:39) [1]

Неужто из мастеров никто этого не знает?


 
Ketmar ©   (2002-11-09 12:30) [2]

а взять и попробовать - мама не позволяет?

Satanas Nobiscum! 09-Nov-XXXVII A.S.


 
Митяй2 ©   (2002-11-10 14:36) [3]

Еслиб не пробовал, то и не просил помочь!

Пробовал - не проканывает.

Под словом "аналогично" подразумевается не просто заменить
cur на ani, а еще какие-то изменения. Какие не знаю!

Поэтому и вопрос-то родился.


 
Андрей Прокофьев ©   (2002-11-10 14:47) [4]

В RC-файле

ANICLOCKS RT_ANICURSOR "CLOCKS.ANI"

А вот функция для чтения этого курсора (через файл)

function LoadAniCursor(Instance: THandle; ResID: PChar): HCursor;
{ Unfortunately I don"t know how we can load animated cursor from
executable resource directly. So I write this routine using temporary
file and LoadCursorFromFile function. }
var
S: TFileStream;
Path, FileName: array[0..MAX_PATH] of Char;
Rsrc: HRSRC;
Res: THandle;
Data: Pointer;
begin
Result := 0;
Rsrc := FindResource(Instance, ResID, "RT_ANICURSOR");
if Rsrc <> 0 then begin
Win32Check(GetTempPath(MAX_PATH, Path) <> 0);
Win32Check(GetTempFileName(Path, "ANI", 0, FileName) <> 0);
try
Res := LoadResource(Instance, Rsrc);
try
Data := LockResource(Res);
if Data <> nil then
try
S := TFileStream.Create(StrPas(FileName), fmCreate);
try
S.WriteBuffer(Data^, SizeOfResource(Instance, Rsrc));
finally
S.Free;
end;
Result := LoadCursorFromFile(FileName);
finally
UnlockResource(Res);
end;
finally
FreeResource(Res);
end;
finally
Windows.DeleteFile(FileName);
end;
end;
end;


 
Митяй2 ©   (2002-11-10 19:43) [5]

Спасибо, попробую, правдо
корява-то для нормального программирования!


 
МитяЙ2 ©   (2002-11-13 16:52) [6]

Может ещё кто-нибудь сообщить?

Заранее БЛАГОДАРЕН!


 
Митяй2 ©   (2002-11-25 14:46) [7]

Вопрос остается открытым.




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

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

Наверх




Память: 0.48 MB
Время: 0.028 c
3-16962
shu_3d
2003-02-17 11:01
2003.03.06
Создание таблиц в программе


4-17452
ers
2003-01-16 15:02
2003.03.06
Как узнать состояние CapsLock (On/Off) NumLock`om всё ясно...


1-17019
jen_bond
2003-02-25 09:02
2003.03.06
Слияние дистрибутивов


3-16957
VIB
2003-02-17 11:36
2003.03.06
DBGrid


7-17424
Miwa
2003-01-06 17:33
2003.03.06
Мониторинг спулера печати