ATL&ActiveX - загрузка изображений
От: ZombieMaster Россия  
Дата: 12.04.04 23:44
Оценка:
День добрый!
Уровень знаний крайне невысок, поэтому спрашивать буду много...
1. Как правильно загрузить картинку для дальнейшего отображения в безоконном АктивИксе? С помощью каких средств (достаточно ли будет структуры HBITMAP)? Для двух вариантов (картинка — в ресурсе и где-то в Инете)...
2. Как отследить загрузку для адекватных действий? Можно ли узнать прогресс загрузки.
Я ем, следовательно я существую!
ICQ: 166801228
Re: ATL&ActiveX - загрузка изображений
От: ZombieMaster Россия  
Дата: 13.04.04 05:11
Оценка:
ZM>День добрый!
ZM>Уровень знаний крайне невысок, поэтому спрашивать буду много...
ZM>1. Как правильно загрузить картинку для дальнейшего отображения в безоконном АктивИксе? С помощью каких средств (достаточно ли будет структуры HBITMAP)? Для двух вариантов (картинка — в ресурсе и где-то в Инете)...
ZM>2. Как отследить загрузку для адекватных действий? Можно ли узнать прогресс загрузки.

Пока что я делаю так:
В классе описываю:
HBITMAP hbm;
в конструкторе класса:
hbm=::LoadBitmap(::GetModuleHandle(NULL),MAKEINTRESOURCE(IDB_BACK));
в OnDraw отслеживаю так:
if (hbm!=NULL) // отрисовка и т.д.
Я ем, следовательно я существую!
ICQ: 166801228
Re[2]: ATL&ActiveX - загрузка изображений
От: _nn_  
Дата: 13.04.04 06:35
Оценка:
Здравствуйте, ZombieMaster, Вы писали:

ZM>>День добрый!

ZM>>Уровень знаний крайне невысок, поэтому спрашивать буду много...
ZM>>1. Как правильно загрузить картинку для дальнейшего отображения в безоконном АктивИксе? С помощью каких средств (достаточно ли будет структуры HBITMAP)? Для двух вариантов (картинка — в ресурсе и где-то в Инете)...
ZM>>2. Как отследить загрузку для адекватных действий? Можно ли узнать прогресс загрузки.

ZM>Пока что я делаю так:

ZM>В классе описываю:
ZM> HBITMAP hbm;
ZM>в конструкторе класса:
ZM>hbm=::LoadBitmap(::GetModuleHandle(NULL),MAKEINTRESOURCE(IDB_BACK));
Если пишется на ATL , то вместо ::GetModuleHandle(NULL) , надо _Module.GetResourceInstance().
ZM>в OnDraw отслеживаю так:
ZM>if (hbm!=NULL) // отрисовка и т.д.
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[3]: ATL&ActiveX - загрузка изображений
От: ZombieMaster Россия  
Дата: 13.04.04 06:51
Оценка:
Здравствуйте, _nn_, Вы писали:

__>Здравствуйте, ZombieMaster, Вы писали:


ZM>>>День добрый!

ZM>>>Уровень знаний крайне невысок, поэтому спрашивать буду много...
ZM>>>1. Как правильно загрузить картинку для дальнейшего отображения в безоконном АктивИксе? С помощью каких средств (достаточно ли будет структуры HBITMAP)? Для двух вариантов (картинка — в ресурсе и где-то в Инете)...
ZM>>>2. Как отследить загрузку для адекватных действий? Можно ли узнать прогресс загрузки.

ZM>>Пока что я делаю так:

ZM>>В классе описываю:
ZM>> HBITMAP hbm;
ZM>>в конструкторе класса:
ZM>>hbm=::LoadBitmap(::GetModuleHandle(NULL),MAKEINTRESOURCE(IDB_BACK));
__>Если пишется на ATL , то вместо ::GetModuleHandle(NULL) , надо _Module.GetResourceInstance().
ZM>>в OnDraw отслеживаю так:
ZM>>if (hbm!=NULL) // отрисовка и т.д.

Да, да, вы тысячу раз правы, но я забыл указать, что пишу на VC 7.0, а он не знает этого _Module.
Я ем, следовательно я существую!
ICQ: 166801228
Re[4]: ATL&ActiveX - загрузка изображений
От: _nn_  
Дата: 13.04.04 06:55
Оценка:
Здравствуйте, ZombieMaster, Вы писали:

ZM>Здравствуйте, _nn_, Вы писали:


__>>Здравствуйте, ZombieMaster, Вы писали:


ZM>>>>День добрый!

ZM>>>>Уровень знаний крайне невысок, поэтому спрашивать буду много...
ZM>>>>1. Как правильно загрузить картинку для дальнейшего отображения в безоконном АктивИксе? С помощью каких средств (достаточно ли будет структуры HBITMAP)? Для двух вариантов (картинка — в ресурсе и где-то в Инете)...
ZM>>>>2. Как отследить загрузку для адекватных действий? Можно ли узнать прогресс загрузки.

ZM>>>Пока что я делаю так:

ZM>>>В классе описываю:
ZM>>> HBITMAP hbm;
ZM>>>в конструкторе класса:
ZM>>>hbm=::LoadBitmap(::GetModuleHandle(NULL),MAKEINTRESOURCE(IDB_BACK));
__>>Если пишется на ATL , то вместо ::GetModuleHandle(NULL) , надо _Module.GetResourceInstance().
ZM>>>в OnDraw отслеживаю так:
ZM>>>if (hbm!=NULL) // отрисовка и т.д.

ZM>Да, да, вы тысячу раз правы, но я забыл указать, что пишу на VC 7.0, а он не знает этого _Module.

Это почему VC 7.0 не знает _Module ???
Без него же программа с использованием ATL не будет работать.
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[5]: ATL&ActiveX - загрузка изображений
От: ZombieMaster Россия  
Дата: 13.04.04 06:57
Оценка:
Здравствуйте, _nn_, Вы писали:

ZM>>Да, да, вы тысячу раз правы, но я забыл указать, что пишу на VC 7.0, а он не знает этого _Module.

__>Это почему VC 7.0 не знает _Module ???
__>Без него же программа с использованием ATL не будет работать.
Без понятия, он пишет undeclared identifier
Я ем, следовательно я существую!
ICQ: 166801228
Re[6]: ATL&ActiveX - загрузка изображений
От: _nn_  
Дата: 13.04.04 07:04
Оценка:
Здравствуйте, ZombieMaster, Вы писали:

ZM>Здравствуйте, _nn_, Вы писали:


ZM>>>Да, да, вы тысячу раз правы, но я забыл указать, что пишу на VC 7.0, а он не знает этого _Module.

__>>Это почему VC 7.0 не знает _Module ???
__>>Без него же программа с использованием ATL не будет работать.
ZM>Без понятия, он пишет undeclared identifier

//stdafx.h
#include <atlbase.h>
extern CComModule _Module;
// остальное

// файл программы 
CComModule _Module;

//...
int WINAPI WinMain(HINSTANCE hInstance,...)
{
 //...
 _Module.Init(NULL, hInstance);
 //...
 _Module.Term();
 //...
}

Вообще-то Wizard должен это делать все автоматически...
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[5]: ATL&ActiveX - загрузка изображений
От: algol Россия about:blank
Дата: 13.04.04 07:30
Оценка:
Здравствуйте, _nn_, Вы писали:

ZM>>Да, да, вы тысячу раз правы, но я забыл указать, что пишу на VC 7.0, а он не знает этого _Module.

__>Это почему VC 7.0 не знает _Module ???
__>Без него же программа с использованием ATL не будет работать.

Там теперь _AtlModule (или _AtlBaseModule).
Re[7]: ATL&ActiveX - загрузка изображений
От: ZombieMaster Россия  
Дата: 13.04.04 07:35
Оценка:
Здравствуйте, _nn_, Вы писали:

__>
__>// файл программы 
__>CComModule _Module;

__>//...
__>int WINAPI WinMain(HINSTANCE hInstance,...)
__>{
__> //...
__> _Module.Init(NULL, hInstance);
__> //...
__> _Module.Term();
__> //...
__>}
__>

__>Вообще-то Wizard должен это делать все автоматически...
Хех, у меня и функции WinMain нету...
И при этом все пашет...
Я ем, следовательно я существую!
ICQ: 166801228
Re[6]: ATL&ActiveX - загрузка изображений
От: ZombieMaster Россия  
Дата: 13.04.04 08:01
Оценка:
Здравствуйте, algol, Вы писали:

A>Здравствуйте, _nn_, Вы писали:


ZM>>>Да, да, вы тысячу раз правы, но я забыл указать, что пишу на VC 7.0, а он не знает этого _Module.

__>>Это почему VC 7.0 не знает _Module ???
__>>Без него же программа с использованием ATL не будет работать.

A>Там теперь _AtlModule (или _AtlBaseModule).


Нашел только _AtlComModule и _AtlWinModule. Ни у кого нет метода GetResourceInstance.
Я ем, следовательно я существую!
ICQ: 166801228
Re[7]: ATL&ActiveX - загрузка изображений
От: algol Россия about:blank
Дата: 13.04.04 08:24
Оценка:
Здравствуйте, ZombieMaster, Вы писали:

ZM>Нашел только _AtlComModule и _AtlWinModule. Ни у кого нет метода GetResourceInstance.


Если проект attributed, то
    _pModule->GetResourceInstance();

Для совместимости с VC6 можно еще написать
#define _Module (*_pModule)
Re[8]: ATL&ActiveX - загрузка изображений
От: _nn_  
Дата: 13.04.04 08:29
Оценка:
Здравствуйте, ZombieMaster, Вы писали:

ZM>Здравствуйте, _nn_, Вы писали:


__>>
__>>// файл программы 
__>>CComModule _Module;

__>>//...
__>>int WINAPI WinMain(HINSTANCE hInstance,...)
__>>{
__>> //...
__>> _Module.Init(NULL, hInstance);
__>> //...
__>> _Module.Term();
__>> //...
__>>}
__>>

__>>Вообще-то Wizard должен это делать все автоматически...
ZM>Хех, у меня и функции WinMain нету...
ZM>И при этом все пашет...
Ой .. я же не заметил что это ActiveX...
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[8]: ATL&ActiveX - загрузка изображений
От: ZombieMaster Россия  
Дата: 13.04.04 08:51
Оценка:
Здравствуйте, algol, Вы писали:

ZM>>Нашел только _AtlComModule и _AtlWinModule. Ни у кого нет метода GetResourceInstance.


A>Если проект attributed, то

A>
A>    _pModule->GetResourceInstance();
A>


Огромное человеческое спасибо algol и _nn_!!!

Продолжаю пытать...
1. А как можно загрузить изображение из файла?
2. Как можно отследить степень загрузки?
Я ем, следовательно я существую!
ICQ: 166801228
Re[9]: ATL&ActiveX - загрузка изображений
От: algol Россия about:blank
Дата: 13.04.04 09:30
Оценка:
Здравствуйте, ZombieMaster, Вы писали:

ZM>1. А как можно загрузить изображение из файла?


Здесь
Автор(ы): Павел Блудов
есть статья с описанием всех возможных способов, их достоинств и недостатков. Самый простой вариант — OleLoadPicturePath().

ZM>2. Как можно отследить степень загрузки?


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