Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Размер окна через (CDC* pdc)

284
09 декабря 2005 года
michael_is_98
587 / / 25.02.2005
Скажите как зная указатель на контекст устройства (CDC* pdc) получить его размер (ширину и высоту) в пикселах, если это вообще возможно.
7.0K
09 декабря 2005 года
qw1
25 / / 27.07.2004
Скорей всего GetDeviceCaps(HORZRES/VERTRES)
284
12 декабря 2005 года
michael_is_98
587 / / 25.02.2005
Цитата:
Originally posted by qw1
Скорей всего GetDeviceCaps(HORZRES/VERTRES)


В данном случае это будет отношение числа пикселей по горизонтали к числу пикселей по вертикали (если разрешение 1024*768, то 1024/768 ) . Но клиентская часть может иметь другие размеры

831
12 декабря 2005 года
S_T
117 / / 23.10.2002
Цитата:
Originally posted by michael_is_98
Скажите как зная указатель на контекст устройства (CDC* pdc) получить его размер (ширину и высоту) в пикселах, если это вообще возможно.



 
Код:
CBitmap* pBmp = pDC->GetCurrentBitmap();
BITMAP bm;
pBmp->GetBitmap(&bm);
bm.bmWidth, bm.bmHeight
284
12 декабря 2005 года
michael_is_98
587 / / 25.02.2005
Цитата:
Originally posted by S_T
 
Код:
CBitmap* pBmp = pDC->GetCurrentBitmap();
BITMAP bm;
pBmp->GetBitmap(&bm);
bm.bmWidth, bm.bmHeight


У меня дает
bmWidth = 4218503 // большое число пикселей
bmHeight = 16842838
Видимо это сработает, если создать битмап по размеру совпадающий с клиентской частью и выбрать его в тек. контекст.
Но можно ли обойтись это сделать без создания битмапа и SelectObject'а?

2.2K
12 декабря 2005 года
REFOT
181 / / 08.04.2005
CDC* dc;

.........

CWnd* pWnd = dc->GetWindow();

RECT RectWnd;

pWnd->GetClientRect(&RectWnd);
284
13 декабря 2005 года
michael_is_98
587 / / 25.02.2005
Цитата:
Originally posted by REFOT
CDC* dc;

.........

CWnd* pWnd = dc->GetWindow();

RECT RectWnd;

pWnd->GetClientRect(&RectWnd);


Точно, только этот способ не срабатывает, если dc - экземпляр класса CMetaFileDC. Для CClientDC, CPaintDC работает.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог