Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2003.03.06;
Скачать: [xml.tar.bz2];

Вниз

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 вся ветка

Форум: "Media";
Текущий архив: 2003.03.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.56 MB
Время: 0.044 c
14-17379
BIGNICK
2003-02-18 20:18
2003.03.06
Как спрятать прогу...


3-16941
АндрейБ
2003-02-16 13:24
2003.03.06
Многомерное представление данных в отчете


1-17043
Wizzard
2003-02-25 12:44
2003.03.06
Конвертация чисел в разных нац.версиях Виндовса


14-17354
ARTSOFT
2003-02-15 23:06
2003.03.06
Каким образом запретить дальнейший запуск программы?


1-17094
Ra-BOT:Nick
2003-02-21 12:25
2003.03.06
Предложите алгоритм





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский