Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > 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 |