| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Label1->Caption = a; |
| Автор: Гость_Nick 30.12.2003, 22:49 |
| Имеется цикл: void __fastcall TForm1::Button1Click(TObject *Sender) { int a; for(a=0;a<100;a++) { Label1->Caption = a; Sleep(100); Button1->Caption = a*2; } } Почему бутон меняется, а лейбл меняется по окончании цикла |
| Автор: Waters 31.12.2003, 00:56 |
| Добавьте в цикл Application->ProcessMessages(); P.S. Ответ на вопрос - из-за Sleep имхо. wbr |
| Автор: Ars 5.1.2004, 10:39 | ||
Не из-за Sleep, а из-за того, что пока крутится цикл, оконные сообщения не обрабатываются. Application->ProcessMessages(); как раз дает возможность это сделать. Еще вариант - если нужно обновлять только лэйбл - Label1->Update(); |
| Автор: Waters 7.1.2004, 02:47 | ||||
знаю.
Видимо, изменение TButton->Caption вызывает сразу Update(), а изменение TLabel->Caption - нет. wbr |