32 / 30 / 4
Регистрация: 01.02.2014
Сообщений: 878

Скрытая отрисовка окна

19.02.2015, 17:52. Показов 2802. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В общем такая проблема, есть диалоговое окно, когда оно показывается
C++ (Qt)
1
ShowWindow(диалогвое окно,SW_SHOWNORMAL);
иногда происходит мерцание контролов, само окно с флагами |WS_CLIPCHILDREN | WS_CLIPSIBLINGS,
поэтому прорисовка происходит следующим образом,
1) рисуется фон контролов(Erasebknd),
2) фон самого окна (Erasebknd),
3) WM_PAINT контролов
4) WM_PAINT окна

следовательно это вызывает мерцание.

Как можно решить проблему с мерцанием? МБ можно как-то заставить окно показыватся только после полной отрисовки, или сделать невидимым - отрисовать, скопировать растр и нарисовать его?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.02.2015, 17:52
Ответы с готовыми решениями:

Отрисовка окна(C#)
Здравствуйте! столкнулся с такой проблемой, использую код private void Form1_Paint(object sender, PaintEventArgs e) { ...

Отрисовка окна
Привет всем. Не правильная отрисовка окна, координаты мыши остаются на окне. Как исправить? Работа сделана в VC2008 на C++. ...

MFC отрисовка окна
Привет. В MFC для MDI существует метод OnDraw для отрисовки окна. Но этот метод вызывается только при определенных событиях (свертывание,...

23
32 / 30 / 4
Регистрация: 01.02.2014
Сообщений: 878
20.02.2015, 22:38  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от castaway Посмотреть сообщение
Извини, но помочь не смогу, с GDI+ не знаком.
Просто совет: в процедуре обработки сообщений используй switch-case.
GDI+ только загружает картинку и рисует в памяти 1 раз, больше нигде не используется, во всём остальном BitBlt
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
20.02.2015, 22:54
Цитата Сообщение от mh-coder Посмотреть сообщение
GDI+ только загружает картинку и рисует в памяти 1 раз, больше нигде не используется, во всём остальном BitBlt
~90% оконной процедуры занимает GDI+. А вся суть и именно в ней.
0
32 / 30 / 4
Регистрация: 01.02.2014
Сообщений: 878
20.02.2015, 22:57  [ТС]
Цитата Сообщение от castaway Посмотреть сообщение
~90% оконной процедуры занимает GDI+. А вся суть и именно в ней.
оно 1 раз загружает картинку и копирует её в память, во всех остальных вызовах вм_паинт, картинка простоо копируется из памяти при помощи BitBlt, та кчто gdi+ тут явно не причём
0
120 / 142 / 46
Регистрация: 31.10.2014
Сообщений: 721
Записей в блоге: 1
21.02.2015, 08:37
Откомпелировал программу никакого мерцания не увидел.
Зато есть большая проблема, программа не дает себя корректно закрыть, приходится грохать процесс.

Добавлено через 1 минуту
Цитата Сообщение от castaway Посмотреть сообщение
Просто совет: в процедуре обработки сообщений используй switch-case.
Он сказал ему else if нравится, потому что ему и всем остальным лучше читать код.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.02.2015, 08:37
Помогаю со студенческими работами здесь

Отрисовка диалогового окна на главном.
Непонятная проблема возникла. Создал диалоговое окно, вызываю его, а оно отрисовывается на главном окне. Кто-нибудь с таким встречался? ...

Отрисовка окна и его изменение
Делаю приложения для себя для изучения английских слов, программа выбирает из словаря слово и выводит его с 3 вариантами ответа. Суть в...

Почему отрисовка начинается не с начала окна?
Ребята объясните пожалуйста. Начал разбираться в openGL. Возник вопрос хочу нарисовать обычную линию. glBegin(GL_LINES); ...

D3D11 - Отрисовка изображения в заданной части окна
Добрый день всем! Надеюсь на помощь форумчан в следующем вопросе: Итак, есть тектура, т.е. указатель на интерфейс ID3D11Texture2D...

скрытая сьемка
Мне нужно на ноуте с виндовз 8.1 поставить сьемку через вебкамеру и потушитб монитлр чтоб присудствующие у меня в комнате не знали что идет...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
Опции темы

Новые блоги и статьи
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru