CODE:#define WS_VISIBLE 268435456
#define WS_CHILD 1073741824
#define WS_BORDER 8388608
#define FLASHW_CAPTION 1
external(INT, "CreateWindow", "CreateWindowExA", "User32.dll" );
external(INT, "FlashWindowEx", "FlashWindowEx", "User32.dll" );
external(INT, "EnableWindow", "EnableWindow", "User32.dll" );
external(INT, "PtInRect", "PtInRect", "User32.dll" );
external(INT, "WindowFromPoint", "WindowFromPoint", "User32.dll" );
win dialog;
int b0;
int rect_dialog[4], mouse_x, mouse_y;
int FLASHWINFO[5];
createdialog(0);
showdialog(0, "Диалог1",100, 100, 500, 500, 1, 0);
enabletimer(0);
loop()sleep(10);
function getmessage(0, WM_CREATE)
{
dialog=formatiw(gethwnd(0));
b0=CreateWindow(0, "BUTTON", "Кнопка", WS_BORDER | WS_CHILD | WS_VISIBLE, 10, 10, 80, 25, gethwnd(0), 0, 0, 0);
}
function getmessage(1, WM_CREATE)
{
EnableWindow(gethwnd(0), 0);
FLASHWINFO[0]=sizearray(FLASHWINFO)*4; // размер структуры
FLASHWINFO[1]=gethwnd(1); // хендл окна
FLASHWINFO[2]=FLASHW_CAPTION; // флаг
FLASHWINFO[3]=7; // сколько раз мигнуть
FLASHWINFO[4]=100; // время мигания
}
function getmessage(0, WM_COMMAND)
{
if(message.lparam==b0)
{
createdialog(1);
showdialog(1, "Диалог2",200, 200, 300, 300, 4, 1);
}
}
function getmessage(1, WM_CLOSE)
{
destroydialog(1);
EnableWindow(gethwnd(0), 1);
}
CREATE_TIMER(0, 30)
{
if(getkeystate(1) || getkeystate(2))
{
setwindowparam(dialog);
getmouse(mouse_x, mouse_y);
rect_dialog[0]=dialog.left;
rect_dialog[1]=dialog.top;
rect_dialog[2]=dialog.left+dialog.width;
rect_dialog[3]=dialog.top+dialog.height;
if(WindowFromPoint(mouse_x, mouse_y) != gethwnd(1))
{
if(PtInRect(address(#rect_dialog[0]), mouse_x, mouse_y))
FlashWindowEx(address(#FLASHWINFO[0]));
return;
}
}
}