Цитата:
нужно выделить мышкой по диагонали с верхнего левого угла область с рисованием прямоугольника (область нужна для определения в ней чего-либо).
Не нужно постоянно вызывать begin_paint() и end_paint(), 1 раз в начале и в конце скрипта. Позже исправлю это. Скрыть нарисованное можно используя disable_item("rectangle", 0).
CODE:
external(VOID, "begin_paint", "begin_paint", pathfolder()+"Draw.dll");
external(VOID, "end_paint", "end_paint", pathfolder()+"Draw.dll");
external(VOID, "rectangle", "rectangle", pathfolder()+"Draw.dll");
int x, y, x1, y1;
begin_paint(); //начать отрисовку прямоугольника
while(getkeystate(LBUTTON)==0)sleep(10); // ждать пока не нажата левая кнопка мыши
getmouse(x, y);//получить текущие координаты мыши
while (getkeystate(LBUTTON)==1) // пока нажата левая кнопка мыши
{
getmouse(x1, y1);//получить текущие координаты мыши
rectangle(0, x, y, x1, y1, 0, 3, 255, -1, 0, 0);
pause(50);
}
end_paint();
messagebox(format(x)+" "+format(y)+" "+format(x1)+" "+format(y1));
external(VOID, "end_paint", "end_paint", pathfolder()+"Draw.dll");
external(VOID, "rectangle", "rectangle", pathfolder()+"Draw.dll");
int x, y, x1, y1;
begin_paint(); //начать отрисовку прямоугольника
while(getkeystate(LBUTTON)==0)sleep(10); // ждать пока не нажата левая кнопка мыши
getmouse(x, y);//получить текущие координаты мыши
while (getkeystate(LBUTTON)==1) // пока нажата левая кнопка мыши
{
getmouse(x1, y1);//получить текущие координаты мыши
rectangle(0, x, y, x1, y1, 0, 3, 255, -1, 0, 0);
pause(50);
}
end_paint();
messagebox(format(x)+" "+format(y)+" "+format(x1)+" "+format(y1));
Ещё можно это использовать: Вывод на экран полупрозрачного окна
(Добавление)
Обновил архив, исправил вылет при вызове end_paint().