Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.04.2010, 11:16   #1
Merowing
 
Регистрация: 09.04.2010
Сообщений: 4
По умолчанию Как перерисовать приложение?

Всем привет!!
Я пишу приложение на низком уровне (API-приложение). И вот у меня возникла проблема.
У меня есть кнопка, после нажатия на которую, графический объект должен поменять свою позицию, то есть в данном случае мне надо перерисовать приложение с новым расположением объекта. В этом и вся проблема. Что приложение не желает перерисовываться. Вроде для перерисованный необходимо вызвать сообщение WM_PAINT, которое вызывается посредством вызова функции UpdateWindow(). Вызываю эту функцию в при обработке кнопки в оконной процедуре, но ничего не происходит.

case BTN1:
PosX += 10;
PosY += 10;
UpdateWindow(hWnd);
break;

Самое интересное, что если нажать на кнопку, а потом свернуть и вновь развернуть окно приложения, то объект занимает нужное приложение.

case BTN1:
PosX += 10;
PosY += 10;
ShowWindow(hWnd, 2);
ShowWindow(hWnd, 1);
break;

Но это не выход так как, сворачивание-разворачивание занимает несколько секунд, явно бросается в глаза, да и неправильно (все равно, что кирпичом гвозди забивать - забить можно, но для этого вроде молоток существует).
Merowing вне форума Ответить с цитированием
Старый 19.04.2010, 13:59   #2
evgn
Разрабатываюсь....
Пользователь
 
Регистрация: 16.11.2008
Сообщений: 68
По умолчанию

Попробуй использовать
Код:
Invalidate()
, а сразу за ним UpdateWindow
evgn вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Title на форме. Как можно перерисовать caption на form? Или убрать его и вместо использовать картинки Шульц Общие вопросы Delphi 37 02.10.2010 09:46
Перерисовать окно InvalidateRect где указывать delias Win Api 2 25.03.2010 01:15
Как перерисовать кнопку Пуск после изменения надписи Sazary Win Api 2 08.06.2009 17:45
Как принудительно перерисовать форму. IliaIT Общие вопросы Delphi 2 23.04.2009 14:34
Как обновить\перерисовать рисунок на форме или компоненте? Selebro Общие вопросы C/C++ 1 21.12.2008 21:16