Вопрос про CreateCompatibleBitmap

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
13GHOST
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 305
Зарегистрирован: 09.01.2004 (Пт) 12:48

Вопрос про CreateCompatibleBitmap

Сообщение 13GHOST » 16.04.2009 (Чт) 17:06

У меня следующая ситуация:
В момент инициализации компонента я создаю битмап для рисания следующим образом:
Код: Выделить всё
mBitmap = CreateCompatibleBitmap(GetDC(0), CLng(Screen.Width / Screen.TwipsPerPixelX), CLng(Screen.Height / Screen.TwipsPerPixelY))

т.е. мне нужны так сказать "неопределенные" его размеры, т.е. во время его использования из него может рисоваться картинка с любыми размерами. Я решил что текущее разрешение экрана для этой цели сойдет. Но когда например компонент создается во время того, как у пользователя запущена игра на меньшем разрешении, чем разрешение в среде Window и битмап создается с меленькими размерами то и рисование из него портится.
Я не хочу каждый раз при рисовании создавать и удалять битмап, а 1 раз создав его - раборать с ним, удалив только при прекрашении работы компонента. Как это можно сделать?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Вопрос про CreateCompatibleBitmap

Сообщение Хакер » 16.04.2009 (Чт) 19:06

Ловить уведомление о смене разрешения.

Но, эм... как это ты не знаешь, какого размера твой bitmap?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

13GHOST
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 305
Зарегистрирован: 09.01.2004 (Пт) 12:48

Re: Вопрос про CreateCompatibleBitmap

Сообщение 13GHOST » 17.04.2009 (Пт) 7:08

а как его отловить?
или можно каждый раз при рисовании проверять разрешение экрана иразмеры своего битмапа? Но процедура рисования довольно часто возникает.
А если нпример создать битмат, который по размерам например в 2 раза больше разрешения (ну чтобы так сказать с запасом.) как это отразится на скорости и т.д.?

Йода
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 99
Зарегистрирован: 06.01.2008 (Вс) 21:04
Откуда: Московская область

Re: Вопрос про CreateCompatibleBitmap

Сообщение Йода » 17.04.2009 (Пт) 12:14

13GHOST писал(а):а как его отловить?

Обрабатывать сообщение WM_DISPLAYCHANGE.
Sub or Function not defined

arvitaly
Постоялец
Постоялец
 
Сообщения: 485
Зарегистрирован: 12.04.2009 (Вс) 0:30
Откуда: Казань

Re: Вопрос про CreateCompatibleBitmap

Сообщение arvitaly » 17.04.2009 (Пт) 21:14

нада думать раз речь о смене разрешения при игре пиши проверку в

Form_Activate

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Вопрос про CreateCompatibleBitmap

Сообщение Хакер » 18.04.2009 (Сб) 1:52

Не надо так думать.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 56

    TopList