Zmiana koloru etykiety "w locie" C++ Builder xe4


(Karolabr1993) #1

Witam.

Potrzebuję pomocy w pewnej kwestii. Program ma działać następująco:

-dana etykieta ma kolor czarny i jakiś tam tekst

-jeśli nacisnę dany przycisk, etykieta ma zmienić kolor i oczekiwać na odpowiedź urządzenia. Jeśli urządzenie którym steruję odpowie tak jak chcę, to kolor etykiety powinien wrócić do czerni.

 

Próbowałem używać Repaint-nie działa, a Refresh jest nieobsługiwane (tak mówi kompilator).

Wszystko byłoby ok, tylko program odświeża widok po zakończeniu wykonywania metody. W tym czasie kolor powinien się zmienić 2 razy i tu mam właśnie problem.

Ktoś byłby tak dobry i podrzucił jakiś pomysł? Może da się to obejść?

Pozdrawiam


(Edgarus) #2

C++ buildera nie znam, ale może label ma metody Invalidate(), albo Update().

Do tego pytanie, czy transmisja z urządzeniem jest głównym wątku, bo może blokować GUI.

Jakbyś wrzucił kod, to by było łatwiej.


(Karolabr1993) #3

void __fastcall TForm1::Button4Click(TObject *Sender)