Главная страница
    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.46 MB
Время: 0.009 c
1-17128
Builder
2003-02-22 15:41
2003.03.06
INPUT type=file


7-17413
Ianus
2002-12-29 11:50
2003.03.06
Модем и динамик


14-17385
lds
2003-02-16 20:52
2003.03.06
WinLIRC


3-16958
Rustiik
2003-02-17 11:53
2003.03.06
Мастера подскажите как округлить число до второго знака


4-17439
elf_123
2003-01-17 08:40
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский