![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Гость_Nick |
|
|||
Unregistered |
Имеется цикл:
void __fastcall TForm1::Button1Click(TObject *Sender) { int a; for(a=0;a<100;a++) { Label1->Caption = a; Sleep(100); Button1->Caption = a*2; } } Почему бутон меняется, а лейбл меняется по окончании цикла ![]() |
|||
|
||||
Waters |
|
|||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 16.11.2003 Репутация: нет Всего: нет |
Добавьте в цикл Application->ProcessMessages();
P.S. Ответ на вопрос - из-за Sleep имхо. wbr Это сообщение отредактировал(а) Waters - 31.12.2003, 01:01 |
|||
|
||||
Ars |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 28.8.2003 Где: Московская обл. Репутация: 2 Всего: 2 |
Не из-за Sleep, а из-за того, что пока крутится цикл, оконные сообщения не обрабатываются. Application->ProcessMessages(); как раз дает возможность это сделать. Еще вариант - если нужно обновлять только лэйбл - Label1->Update(); -------------------- Есть многое на свете, друг Горацио, С чем очень долго можно прое..! |
|||
|
||||
Waters |
|
||||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 16.11.2003 Репутация: нет Всего: нет |
знаю. ![]()
Видимо, изменение TButton->Caption вызывает сразу Update(), а изменение TLabel->Caption - нет. wbr Это сообщение отредактировал(а) Waters - 7.1.2004, 03:02 |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |