Есть кнопка типа TImage. Кнопка запускает подвижку на COM порте, я хочу, чтобы во время движения стрелка на кнопке затенялась, то есть меняю изображение вначале, а в конце присваиваю старое
Unit1.h ////////////////////////////////////////////
TImage *RightArrow;
Graphics::TBitmap *Rstop, *Rmove;
Unit1.cpp //////////////////////////////////////////
__fastcall TApp::TApp(TComponent* Owner)
{
...
Rstop = new Graphics::TBitmap();
Rmove = new Graphics::TBitmap();
Rstop->LoadFromResourceName((int)HInstance,"Right_yellow");
Rmove->LoadFromResourceName((int)HInstance,"Right_grey");
RightArrow->Picture->Bitmap->Assign(Rstop);
.....
}
//---------------------------------------------------------------------------
void __fastcall TApp::RightArrowClick(TObject *Sender)
{
char buffer[16] = {0};
amp = StepAmpEdit->Text.ToInt();
nSteps = NumStepsEdit->Text.ToInt();
if( ((amp>=1)&&(amp50)) && (nSteps>0))
{
RightArrow->Picture->Bitmap->Assign(Rmove);
sprintf(buffer,"1SU%d\r",amp);
comp->WriteCOM(buffer);
Sleep(20);
for(int k = 0; k nSteps; k++)
{
comp->WriteCOM("1PR1\r");
Sleep(10);
}
RightArrow->Picture->Bitmap->Assign(Rstop);
}
}
Проблема в том, что изображение не меняется, хотя движение (цикл) продолжается достаточно долго, несколько секунд.