Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Form1->Repaint();

293
21 октября 2002 года
SEDEGOFF
586 / / 06.10.2002
Вот есть например такой цикл
for(int i=0; i<10000000000; i++);
если его запустить и потом открыть поверх приложения любое другое - то наше приложение закрачиться и будет не красиво
если его модифицировать во так
for(int i=0; i<10000000000; i++)
{
Form1->Repaint();
}
То в каждой итерации форма будет перерисовываться
и будет мелькать
А как сделать чтобы форма перерысовывалась только тогда когда нужно?
358
21 октября 2002 года
moonmike
423 / / 18.10.2002
Ну для начала посмотри для Формы событие OnActivate. Потом можешь попробовать написать обработчик для виндовых сообщений(см. MSDN).
293
21 октября 2002 года
SEDEGOFF
586 / / 06.10.2002
Поповоду сообщений Windows - Это Windows передает сообщение программе о том что ей передан фокус или что то другое и где можно взять все сообщения виндовс
358
22 октября 2002 года
moonmike
423 / / 18.10.2002
Windows - система управляемая сообщениями, поетому любое событие которое в системе происходит порождает туеву хучу сообщений. В том случае который тебя интересует скорее всего необходимо обрабатывать WM_WINDOWPOSCHANGING, WM_WINDOWPOSCHANGED etc.А читать про ето лучше всего в MSDN(Microsoft Software Developers Network) на дисках продается и отдельно и в составе Visual Studio. Если собираешься более менее серьезно программить под винду то без нее не обойтись.
250
24 октября 2002 года
Joker
1.4K / / 20.02.2000
for(int i=0; i<10000000000; i++){
Application->ProcessMessages(); }
}
371
24 октября 2002 года
Non_prog
193 / / 20.03.2000
Цитата:
Originally posted by Joker
for(int i=0; i<10000000000; i++){
Application->ProcessMessages(); }
}


Application->ProcessMessages()- будет притормажевать цикл, поэтому срабатывание
ProcessMessages() лучше сделать с каким-нибудь
интервалом.
:)

293
24 октября 2002 года
SEDEGOFF
586 / / 06.10.2002
Объясните пожалуйста на примере
295
24 октября 2002 года
gray_k
356 / / 20.12.1999
Цитата:
Originally posted by SEDEGOFF
Объясните пожалуйста на примере


ProcessMessages() позволяет приложению обрабатывать различный собщения и события.
Если ты к примеру сделал цикл
for(inti=0;i<1000000000;i++){
//что-нибудь
},
запустил, и в момент работы попробовал переместиь форму мышкой, то у тебя ничего не получится. Или раскрыл поверх другое окно, а потом закрыл - твоя форма не прорисуется, пока не закончится цикл.
А если в тело цикла вставить ProcessMessages(), то прога будет реагировать на перетаскивание, изменение размера и т.п.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог