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

Ваш аккаунт

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

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

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

Как правильно изменить цвет Editа из потока?

1.9K
18 апреля 2011 года
George22
91 / / 09.12.2007
Подскажите, please, как изменить цвет из потока:

Form1->Edit1->Color =clRed; //будет ли так работать без проблем?
//или надо как-то по-другому?
278
18 апреля 2011 года
Alexander92
1.1K / / 04.08.2008
Работать будет, но позаботьтесь о синхронизации.
1.9K
22 апреля 2011 года
George22
91 / / 09.12.2007
Я как раз про синхронизацию и спрашивал.
Цвет может поменяться, а может и нет.
Красный цвет у меня должен сигнализировать о превышении температуры
на промышленной установке, так что надо сделать правильно.

Cейчас выкрутился так:
Создаю свою функцию, которая вызывается при простое:

Application->onIdle=MyIdleHandler;

В ней написал 2 оператора:

Form1->Repaint();
Form1->InValidate();

Сам не понял, что сделал, но цвет стал меняться гарантированно.

P.S. Создаю поток с помощью функции CreateThread(...
11
22 апреля 2011 года
oxotnik333
2.9K / / 03.08.2007
Из потока SendMessage/PostMessage в главный поток, а в последнем уже отлавливать это сообщение и изменять цвета.
Иначе прямой доступ может быть чреват трудноуловимыми глюками (несмотря на синхронизацию).
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог