Помощь - Поиск - Пользователи - Календарь
Полная версия: как подключить мышку к паскалю?
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Artem7
вообщем я хочу сделать программу для рисования графити, всякие надписи и т.д и хочу чтобы управление прорисовкой было с помощью мыши т.е нажал левую кнопку мышки и водишь а она как бы за собой след оставляла! И вот мне для этого нужно подпрограммы а лучше модуль для подключения мышки в графическом режиме.и желательно с описанием процедур :-)


Добавлено через 16 мин.
Нарыл на форуме как мышку подключить но почему то указатель не появляется(((
Program paint;
Uses Graph;
Var i,j,k,x1,x2:integer;
Gt,Gm:integer;
Function InitMouse:boolean;
var
ResultRegAX:word;
begin
asm
mov ax,$00
int $33
mov ResultRegAX,ax
end;
If ResultRegAX=$FFFF then InitMouse:=true else InitMouse:=false
End;
function ButtonMouse:byte;
var
ResultRegBX:word;
Begin
Asm
mov ax,$00
int $33
mov ResultRegBX,bx
End;
ButtonMouse:=ResultRegBX
end;
Procedure ShowMouse; assembler;
Asm
Mov AX,$01
Int $33
end;
Begin
InitMouse;
ShowMouse;
Gt:=detect;
InitGraph(Gt,Gm,'');
ClearDevice;
Setcolor(White);
Rectangle(0,0,637,410);{Область рисования}
Setcolor(3);
SetFillStyle(1,15);
Rectangle(10,5,70,16);{Открыть}
FloodFill(20,15,3);
SetColor(0);
OutTextXY(13,7,'Открыть');
Setcolor(3);
SetFillStyle(1,15);
Rectangle(71,5,148,16);{Сохранить}
FloodFill(100,15,3);
SetColor(0);
OutTextXY(75,7,'Сохранить');
Setcolor(3);
SetFillStyle(1,15);
Rectangle(149,5,210,16);{Справка}
FloodFill(160,15,3);
SetColor(0);
OutTextXY(153,7,'Справка');
Setcolor(3);
SetFillStyle(1,15);
Rectangle(211,5,305,16);{О программе}
FloodFill(215,15,3);
SetColor(0);
OutTextXY(215,7,'О программе');
Setcolor(2);
SetFillStyle(1,7);
Rectangle(0,412,638,478);{Область выбора цвета и т.д}
FloodFill(100,450,2);
SetColor(Red);
SetTextStyle(DefaultFont,HorizDir,1);
OutTextXY(87,415,'Выберите цвет');
Setcolor(0);
x1:=21;x2:=50;i:=0;
While i<15 do Begin {Выбор цвета}
SetFillStyle(1,i);
Rectangle(x1,425,x2,450);
FloodFill(x1+10,430,0);
inc(i);
SetFillStyle(1,i);
Rectangle(x1,451,x2,476);
FloodFill(x1+10,456,0);
inc(i);
x1:=x1+30;x2:=x2+30;
End;
SetColor(Red);
SetTextStyle(DefaultFont,HorizDir,1);
OutTextXY(270,415,'Текущий цвет');
SetColor(0);
SetFillStyle(1,5);{Текущий цвет}
Rectangle(x1+40,436,x2+40,461);
FloodFill(x1+50,456,0);
readln;
End.
Artеm
ну всё мышку подрубил, буду дальше делать возникнут вопросы отпишу, надеюсь поможете
Artеm
теперь вопрос в том как реализовать прорисовку За движением указателя мыши, т.к я понял координаты мышки к модуля Граф не совподают ((((
Vapaamies
Помнится адаптировал в своё время мышиный модуль от Turbo Vision -- в нём координаты совпадали. Надо было только не делить их на 8, как для текстового режима.

Вообще, мышка вроде выдаёт только смещение от текущего положения, ей на фактические координаты пофиг.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.