dział:
porady różne Trochę inny ProgressBar.Czyli na początku zdarzenia, ProgressBar startuje a jak kod się wykona to dopiero wtedy się zatrzymuje, jak to zrobić ?
Przecież w poradzie tak działa. Jak długo kod blokuje program, tak długo ProgressBar działa:
long style = GetWindowLong(ProgressBar1->Handle, GWL_STYLE);
style = style | PBS_MARQUEE;
SetWindowLong(ProgressBar1->Handle, GWL_STYLE, style);
// Rozpoczęcie odliczania
ProgressBar1->Perform(PBM_SETMARQUEE, true, 100);
for(int i = 0; i < 100; i++) /* kod, który się wykonuje */
{
ProgressBar1->Position += 1;
Sleep(100);
Application->ProcessMessages();
}
// Zakończenie odliczania
ProgressBar1->Perform(PBM_SETMARQUEE, false, 100);
Jak widzisz funkcja ProgressBar1->Perform(PBM_SETMARQUEE, true, 100); uruchamia ProgressBar, a funkcja ProgressBar1->Perform(PBM_SETMARQUEE, false, 100); go zatrzymuje. Musisz sterować tym ręcznie, czyli tak zbudować kod, że po jego wykonaniu zostanie wywołana funkcja zatrzymująca działanie ProgressBar.
Bardziej szczegółowej odpowiedzi nie da się udzielić na Twoje pytanie, gdyż sam podałeś niewiele szczegółów.