Graph 使用图形窗口时的FreePascal鼠标输入?
使用图形窗口时GetMouseX不工作Graph 使用图形窗口时的FreePascal鼠标输入?,graph,mouse,freepascal,Graph,Mouse,Freepascal,使用图形窗口时GetMouseX不工作 uses wincert,graph,winmouse; var x,y:integer; Begin x:=GetMouseX; End. 这给了我一个错误:找不到标识符GetMouseX。 使用“鼠标”在控制台窗口中尝试此操作,但在图形窗口中不起作用 有人能帮忙吗?是的,winmouse不是鼠标的一个版本/子集,就像wincrt是用于windows图形的crt的一个子集一样 它只是一个让鼠标处理图形的单元。查看该单元以查看可用的函数lpressed、
uses wincert,graph,winmouse;
var x,y:integer;
Begin
x:=GetMouseX;
End.
这给了我一个错误:找不到标识符GetMouseX。
使用“鼠标”在控制台窗口中尝试此操作,但在图形窗口中不起作用
有人能帮忙吗?是的,winmouse不是鼠标的一个版本/子集,就像wincrt是用于windows图形的crt的一个子集一样
它只是一个让鼠标处理图形的单元。查看该单元以查看可用的函数lpressed、rpressed、getlastbutonpress等经过长时间搜索,我找到了winmouse的函数列表。页面在。。。波兰语之类的,但是示例代码非常有用
uses graph, wincrt, winmouse;
var gd,gm: integer;
ch:char;
i:integer;
mposx, mposy, state: longint;
begin
gd := d4bit;
gm := m640x480;
initgraph(gd,gm,'');
initmouse;
randomize;
for i:=1 to 10 do
circle(random(640),random(480),150);
repeat
if keypressed then ch:= readkey;
if lpressed then
begin
repeat until not lpressed;
getmousestate(mposx,mposy,state);
if getpixel(mposx,mposy)<15 then
begin
setfillstyle(solidfill,random(14)+1);
floodfill(mposx,mposy,15);
end;
end;
until ch = #27;
closegraph;
end.
谢谢你的帮助