![]() |
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]() ![]() ![]() |
|
eniac |
|
||||
Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 2.6.2009 Репутация: нет Всего: нет |
Доброго времени суток.
Сначала опишу ситуацию: У меня есть кастом контрол в котором используется для рисования двойная буферизация. Процесс создания мемори ДЦ выглядит так
и в OnPaint методе при первом вызове мы создаем мемори ДЦ
Теперь переходим к проблеме. На виновс 7 а именно на аэро теме все окна показываются с эффектом типа fadein, плавно и с эффектом прозрачности. Когда же появляется мое окно с этим контролем, приходит первый раз OnPaint и при этом же вызова и создается мемори ДЦ. Поскольку окно еще не до конца готово к работе, т.е. находится в режиме fadein, то Парент ДЦ который накладывается на мемори ДЦ контрола будет частично прозрачен. Мне нужно каким образом узнать в какой момент надо создавать мемори ДЦ чтобы этого эффекта прозрачности не было. Есть ли какие API функции благодаря которым бы я смог узнать или окно уже готово к работе. Спасибо за внимание. |
||||
|
|||||
NYX |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 165 Регистрация: 9.1.2007 Где: Россия, Москва Репутация: нет Всего: нет |
попробуй WM_CREATE. Я сам корячился с похожей ерундой. Была ситуация, писал функции управления окна при стиле WS_POPUP и значения размера и позиции надо было хранить в отдельных переменых (что бы позицию и размер можно было задать до создания окна). Затем, когда я пытался присвоить значения размера и позиции, они уходили в мимо, так как системные установки шли чуть позже моих. Я тоже пытался найти ТОЧКУ создания окна во времени, что бы в нужный момент вписать свои установки. WM_CREATE мне не помог. Помог счетчик оконных сообщений. Через SPY++ тупо отследил кол-во системных установок до НУЖНОГО момента, затем на обработчике while ... GetMessage поставил условие колва сообщений. Как только дошло до N сообщения, условие давало добро на АП данных
![]() ![]() ![]() ![]() --------------------
'long long long' is too long for GC |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Системное программирование и WinAPI" | |
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |