CODE:#define WS_VISIBLE 0x10000000
#define WS_CHILD 0x40000000
#define PBM_SETRANGE 1025
#define PBM_SETPOS 1026
#define PBS_SMOOTH 1
#define PBM_SETBARCOLOR 1033
#define PBM_SETBKCOLOR 8193
external(INT, "CreateWindow", "CreateWindowExA", "User32.dll");
int progress_bar1, progress_bar2;
int max = 40; // максимальное значение прогресса
createdialog(0);
showdialog(0, "Dialog", 300, 300, 400, 200, 1, 1);
pause(1000);
for(int i=0; i<max; i++)
{
sendmessage(PBM_SETPOS, i+1, 0, formatiw(progress_bar1)); // в нужном месте скрипта изменяем значение индикатора
sendmessage(PBM_SETPOS, i+1, 0, formatiw(progress_bar2)); // в нужном месте скрипта изменяем значение индикатора
sleep(200);
}
pause(1000);
sendmessage(PBM_SETPOS, max / 2, 0, formatiw(progress_bar1)); // изменить значение индикатора в половину от максиума
pause(2000);
function getmessage(0, WM_CREATE)
{
progress_bar1=CreateWindow(0, "msctls_progress32", "", WS_VISIBLE | WS_CHILD, 10, 10, 310, 25, gethwnd(0), 0, 0, 0);
progress_bar2=CreateWindow(0, "msctls_progress32", "", PBS_SMOOTH | WS_VISIBLE | WS_CHILD, 10, 50, 150, 25, gethwnd(0), 0, 0, 0);
sendmessage(PBM_SETBARCOLOR, 0, 255, formatiw(progress_bar1)); // цвет шкалы, 255 - красный
sendmessage(PBM_SETBARCOLOR, 0, rgb(255, 0, 255), formatiw(progress_bar2)); // цвет шкалы, фиолетовый
sendmessage(PBM_SETBKCOLOR, 0, 65280, formatiw(progress_bar1)); // цет фона 65280 - зелёный
sendmessage(PBM_SETBKCOLOR, 0, 0, formatiw(progress_bar2)); // цвет фона, чёрный
sendmessage(PBM_SETRANGE, 0, 0+max*65536, formatiw(progress_bar1)); // минимальное и максиальное значение индикатора
sendmessage(PBM_SETRANGE, 0, 0+max*65536, formatiw(progress_bar2)); // минимальное и максиальное значение индикатора
}