powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / размеры изображения через IPictureDisp
5 сообщений из 5, страница 1 из 1
размеры изображения через IPictureDisp
    #34880557
dboev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть ActiveX контрол со свойством BgPicture

код :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
void CAnalogGaugeCtrl::SetBgPicture(IPictureDisp* pVal)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());

	// TODO: Add your property handler code here


	bgPicHolder.SetPictureDispatch(pVal);	
	SetModifiedFlag();
	InvalidateControl();	
}

мне нужно узнать размеры изображения, переданного через IPictureDisp. в VS 2005

в справке говорится про свойства интерфейса IPIctureDisp - Width и Height... но как до них добраться?
...
Рейтинг: 0 / 0
размеры изображения через IPictureDisp
    #34881386
...
Рейтинг: 0 / 0
размеры изображения через IPictureDisp
    #34881918
dboev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот так работает вроде... но результат какой-то нереальный возвращает =(
может там не пиксели а еще что-то...
Код: plaintext
1.
2.
3.
	OLE_XSIZE_HIMETRIC width,height;	
	bgPicHolder.m_pPict->get_Width(&width);
	bgPicHolder.m_pPict->get_Height(&height);

m_pPict
A pointer to the CPictureHolder object's IPicture interface.
LPPICTURE m_pPict;
...
Рейтинг: 0 / 0
размеры изображения через IPictureDisp
    #34882075
Ага, SetPictureDispatch так и делает - просто IPicture запрашивает (кусок из файла ctlpict.cpp):
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
void CPictureHolder::SetPictureDispatch(LPPICTUREDISP pDisp)
{
	LPPICTURE pPict = NULL;

	if (m_pPict != NULL)
		m_pPict->Release();

	if ((pDisp != NULL) &&
		SUCCEEDED(pDisp->QueryInterface(IID_IPicture, (LPVOID*)&pPict)))
	{
		ASSERT(pPict != NULL);

		m_pPict = pPict;
	}
	else
	{
		m_pPict = NULL;
	}
}
...
Рейтинг: 0 / 0
размеры изображения через IPictureDisp
    #34882079
dboevвот так работает вроде... но результат какой-то нереальный возвращает =(
может там не пиксели а еще что-то...
Код: plaintext
1.
2.
3.
	OLE_XSIZE_HIMETRIC width,height;	
	bgPicHolder.m_pPict->get_Width(&width);
	bgPicHolder.m_pPict->get_Height(&height);

m_pPict
A pointer to the CPictureHolder object's IPicture interface.
LPPICTURE m_pPict;

Действительно:
не в пикселях совсем
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / размеры изображения через IPictureDisp
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]