Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Загрузка анимированных курсоров из ресурса, Если их больше 1 не один не грузиться 
:(
    Опции темы
Kostyaxp
  Дата 19.7.2006, 21:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 19.7.2006

Репутация: нет
Всего: 1



Помогите, пожалуйста, решить следующую проблему:

Компилируется ресурс

Код

#define ANICURSOR 21
myCur ANICURSOR "C:\ Cur.ani"



Потом с помощью функции  LoadCursor из ресурса достается указатель

Проблема состоит в том, что если к первому указателю добавить еще один не один из них не загружается, что не так smile 

Код

#define ANICURSOR 21
myCur ANICURSOR "C:\ Cur.ani"
Drag ANICURSOR "C:\ drag.ani"
 
PM MAIL   Вверх
TP@MB@Y
Дата 19.7.2006, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 370
Регистрация: 18.12.2004
Где: Москва

Репутация: нет
Всего: 4



я не знаю... но первое что приходит в голову - между ними не нужен разделитель? Точка с запятой или запятая... 
PM   Вверх
Romikgy
Дата 20.7.2006, 09:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 26
Всего: 146



Имхо для каждого курсора надо свой
Цитата(Kostyaxp @  19.7.2006,  20:58 Найти цитируемый пост)
#define ANICURSOR 21

хотя могу и ошибатся

Добавлено @ 09:30 
вот rc для трех курсоров
Код

#define kur1 3
#define kur2 1
#define kur3 7
kur1 CURSOR DISCARDABLE "D:/K/3dgarro.cur"
kur2 CURSOR DISCARDABLE "D:/K/3dgmove.cur"
kur3 CURSOR DISCARDABLE "D:/K/3dgarro.cur"

Редактор ресурсов 


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Kostyaxp
Дата 20.7.2006, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 19.7.2006

Репутация: нет
Всего: 1



Romikgy, нет, не помогает. Да и для анимированного курсора заранее есть определенное место
В Windows.pas: 
  
Код

{$EXTERNALSYM RT_ANICURSOR}
  RT_ANICURSOR    = MakeIntResource(21);


Кроме всего смотрел MSDN там сказано, что в одной ветки ресурса (в этом случае под именем 21) может располагаться несколько ресурсов, и даже показан пример.

А теперь все сначала. Вот код процедуры:
Код

var
hCur : HCURSOR;
h : THandle;
begin
h := hinstance;
hCur := LoadCursor (h, 'myCur');
Screen.Cursors[1] := hCur;
Screen.Cursor := 1;


Пример самого rc файла см. выше.

В чем проблема понять не могу smile 

P.S. Я не знаю почему админ под именем Girder переместил мою тему в С++ видимо из-за того что я сделал подсветку кода С++ (дак это чтобы #define подсветить), но это еще не значит, что я на C++ на самом деле работаю smile
Хотя может кто-нибудь подобное на C++ попробует и может получиться (кстати, сишный rc.exe я тоже пробовал). 
 
PM MAIL   Вверх
Romikgy
Дата 21.7.2006, 12:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 26
Всего: 146



Код

kur1 CURSOR D:/K/3dgarro.cur"    
kur2 CURSOR  "D:/K/3dgmove.cur"    
kur3 CURSOR  "D:/K/3dgarro.cur"

у меня вот так заработало , без всяких дефайнов 


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Kostyaxp
Дата 22.7.2006, 15:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 19.7.2006

Репутация: нет
Всего: 1



Это все из фильма «Очевидное и Невероятное». Кое-что вышло, но результат оказался неожиданный:

Пример rc:
Код

51 21 "C:\\Path\\cursors\\Cur.ani"
52 21 "C:\\Path\\cursors\\drag.ani"
53 21 "C:\\Path\\cursors\\h.ani"
54 21 "C:\\Path\\cursors\\m.ani"
55 21 "C:\\Path\\cursors\\off.ani"
56 21 "C:\\Path\\cursors\\temp.ani"


Вот пример самого кода:
Код

procedure TForm1.Button1Click(Sender: TObject);
var
hCur : HCURSOR;
begin
hCur := LoadCursor (hinstance, Pchar('55'));
Screen.Cursors[1] := hCur;
Screen.Cursor := 1;
Form1.Cursor := 1;
end;


Но в таком виде код не работает, а вот если вместо значения «55» поставить значение «7», то загружается ресурс, который должен загружаться как «55». Может, кто скажет, в чем дело?

Добавлено @ 15:44 
Цитата

у меня вот так заработало , без всяких дефайнов  


Дефайн тут был исключительно для Борлодского компилятора ресурсов. Подробнее тут
За ссылку отдельное спасибо to Girder  

Это сообщение отредактировал(а) Kostyaxp - 22.7.2006, 15:45
PM MAIL   Вверх
Kostyaxp
Дата 22.7.2006, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 19.7.2006

Репутация: нет
Всего: 1



Все проверял на Delphi 7&2005 - результат один и тот же.

Romikgy, если не сложно, то кинь исходник на С пожалуйста. 
PM MAIL   Вверх
Romikgy
Дата 22.7.2006, 16:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 26
Всего: 146



Цитата(Kostyaxp @  22.7.2006,  14:36 Найти цитируемый пост)
hCur := LoadCursor (hinstance, Pchar('55'));

Код

 Screen.Cursors[1] := LoadCursor(HInstance, pChar(51));
  Screen.Cursors[2] := LoadCursor(HInstance, pChar(52));

разницу видишь или нет?

Добавлено @ 16:07 
Цитата(Kostyaxp @  22.7.2006,  14:53 Найти цитируемый пост)
о кинь исходник на С пожалуйста

чего исходник на С? 


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Kostyaxp
Дата 22.7.2006, 16:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 19.7.2006

Репутация: нет
Всего: 1



Цитата

разницу видишь или нет?


А причем тут разница? Если эта функция, что первая LoadCursor(HInstance, pChar(51));, что вторая LoadCursor(HInstance, pChar(52)); возвращает 0 (специально смотрел в отладчике). Не загружается 51, если 7, то, пожалуйста, но ведь должно то быть не 7, а 55! smile 

С обычными курсорами, по-моему, все выходит, а вот с анимированными нет. smile 

Romikgy, исходник я имел в виду рабочей программы, т.е. программы, которая загружает 2 или более АНИМИРОВАНЫХ курсора из ресурса, один из которых потом ставятся вместо стандартного курсора на форме программы.   

Это сообщение отредактировал(а) Kostyaxp - 22.7.2006, 17:01
PM MAIL   Вверх
Romikgy
Дата 22.7.2006, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 26
Всего: 146



Kostyaxp, попаду домой проэкперементирую 


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Kostyaxp
Дата 23.7.2006, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 19.7.2006

Репутация: нет
Всего: 1



Romikgy, у меня прогресс  smile  : вызвался 55 и 56 ресурс (т.е. 2 последних) под своими именами (кстати, цифра 7 вместо 55 тоже работает) все остальные ни в какую. Даже пробовал цикл создавать для подбора значений не выходит. 

Из всего вышесказанного можно сделать вывод, что из всех загружаются только два последних курсора. Осталось только найти способ чтобы и другие загружались или найти причину по которой этого не происходит.  smile  

Это сообщение отредактировал(а) Kostyaxp - 23.7.2006, 17:47
PM MAIL   Вверх
Romikgy
Дата 24.7.2006, 09:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 26
Всего: 146



Kostyaxp, вот рабочий проект 
http://rgy.pisem.net/files/stroki.zip 


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Kostyaxp
Дата 25.7.2006, 23:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 19.7.2006

Репутация: нет
Всего: 1



Romikgy, огромное спасибо за пример  smile . Буду думать, почему у меня не вышло (может из-за того, что курсоры использую нестандартные, не из винды?)…  smile    

Это сообщение отредактировал(а) Kostyaxp - 25.7.2006, 23:28
PM MAIL   Вверх
Romikgy
Дата 26.7.2006, 08:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 26
Всего: 146



Цитата(Kostyaxp @  25.7.2006,  22:21 Найти цитируемый пост)
использую нестандартные, не из винды?)

имхо побоку откуда курсоры 


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0594 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.