Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Окно слишком часто отрисовывается 
:(
    Опции темы
Verus
Дата 21.11.2008, 16:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 120
Регистрация: 5.8.2008

Репутация: нет
Всего: нет



Создал класс Window : public CWnd
на событие кнопки пишу:
Код

win = new Window();
win->Create(_T("STATIC"), _T(""), WS_VISIBLE, CRect(300, 200, 690, 500), this, 1234);

в окне еще кнопка создана на которой битмап рисуется, но это не важно. Проблема в том что это окно отрисовывается(т.е. вызывается OnPaint() класса Window) каждую миллисекунду наверно, в общем непрерывно, а надо чтобы OnPaint() вызывался когда вызывается OnPaint() главного диалога, не чаще. Вопрос: что исправить надо? Спасибо.
PM MAIL   Вверх
Verus
Дата 21.11.2008, 18:08 (ссылка) |  (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 120
Регистрация: 5.8.2008

Репутация: нет
Всего: нет



Решил вопрос.
PM MAIL   Вверх
voov
Дата 21.11.2008, 19:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Патамушта мы пилоты
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 29.11.2007

Репутация: 8
Всего: 8



отпишись как решил.
PM MAIL   Вверх
Verus
Дата 21.11.2008, 20:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 120
Регистрация: 5.8.2008

Репутация: нет
Всего: нет



Создавать надо так:
Код

win->Create(_T("STATIC"), _T(""), WS_CLIPCHILDREN|WS_VISIBLE, CRect(300, 200, 690, 500), this, 1234);

ну а потом в OnPaint() родителя вызываем
Код

win->Invalidate();

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

Добавлено через 2 минуты
Мне теперь интересно возможно ли "убить" это окно по кнопке которую я создаю в этом окне на OnCreate()?

Добавлено через 3 минуты и 7 секунд
Отлавливать события нажатия этой кнопки не проблема, всякие вызовы в ней типа
Код

this->DestroyWindow();

приводят к ошибке
PM MAIL   Вверх
voov
Дата 24.11.2008, 19:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Патамушта мы пилоты
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 29.11.2007

Репутация: 8
Всего: 8



Тогда уж не 
Код

 this->DestroyWindow(); 

а
Код

    win->DestroyWindow(); 


Если хочешь просто убрать окно, то его можно спрятать 
Код

      win->ShowWindow(SW_HIDE);


И вообще непонятно в каком окне твоя кнопка, в главном или в дочернем?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0432 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.