判断鼠标按在给定的时刻
45视图(30天)
显示旧的评论
接受的答案
1月
2017年9月19日
编辑:1月
2017年9月19日
它会很容易,如果你不改变WindowButtonDownFcn频繁,但保持静态和使用
持续的
变量分支。然后你必须插入的代码存储按钮状态只在一个位置。
如果你检查按钮的状态,你也必须考虑当前活动窗口。你不想对单击任务栏和桌面。
[编辑]FEX提交是不工作的。试试这个:
% ! ! !未经考验的! ! !
函数[L R M] = GetMouseKeyStatus ()
如果~ ispc
错误(只运行在Windows。);
结束
如果~ libisloaded (“user32”)
loadlibrary (“user32.dll”,“user32.h”);
结束
L = calllib (“user32”,“GetAsyncKeyState”int32 (1)) ~ = 0;
R = calllib (“user32”,“GetAsyncKeyState”int32 (2)) ~ = 0;
M = calllib (“user32”,“GetAsyncKeyState”int32 (4)) ~ = 0;
结束
3评论
布鲁诺陈德良
2020年11月14日
编辑:布鲁诺陈德良
2020年11月14日
LOADLIBRARY似乎不工作在我的系统(Windows 10, 20 h2)
K > > loadlibrary (“user32.dll”,“user32.h”)
错误使用loadlibrary
可以找不到文件user32.h。
错误在loadlibrary
user32。然而dll仍然存在。
这是我的解决方案。我创建了一个名为WinMouse的h文件。h和把它连同ismousedpressed.m
函数keypressed = ismousedpressed ()
% keypressed = ismousedpressed ()
%的回报
%没有按钮被按下
% 1是左按钮
% 2是正确的按钮
% 3滚动按钮推动(而不是滚动)
%的限制:Windows
%提示:调用ismousedpressed()当你的应用开始
%,当真正需要;ismousedpressed()返回结果更快。
%
%作者:Mbvalentin
% //www.tianjin-qmedu.com/matlabcentral/fileexchange/61976-check-if-mouse-button-is-pressed
%由布鲁诺陈德良修改
如果~ libisloaded (“user32”)
试一试
loadlibrary (“C: \ WINDOWS \ system32系统\ user32.dll”,“user32.h”);
抓
%的用户。h是在最近的某些版本的Windows
%我们替换为一个简单的自定义的头文件
这里= fileparts (mfilename (' fullpath '));
loadlibrary (“C: \ WINDOWS \ system32系统\ user32.dll”,在这里“\ WinMouse.h”]);
结束
结束
左= calllib (“user32”,“GetAsyncKeyState”int32 (1)) ~ = 0;
正确的= calllib (“user32”,“GetAsyncKeyState”int32 (2)) ~ = 0;
滚动= calllib (“user32”,“GetAsyncKeyState”int32 (4)) ~ = 0;
keypressed = max ((1 2 3)。*双([左右滚动]));
结束% ismousedpressed
文件WinMouse。h,这假设GetAsyncKeyState签名不会改变Windows操作系统(可能)
/ * WinMouse.h
*更换user32。h如果这不是可用的
看到ismousedpressed.m
这文件必须位于同一个地方ismousedpressed * /
短GetAsyncKeyState (
intvKey
);
答案(1)
Ankit Bhardwaj
2017年4月24日
编辑:Ankit Bhardwaj
2017年4月24日
你可以使用ButtonDownFcn调图。这个回调执行当用户单击鼠标按钮图窗口的指针,而不是在子对象如uicontrol uipanel,轴或轴的孩子。此外,鼠标选择类型返回“正常”,“扩大”,“alt”或“开放”。MATLAB维护这个属性提供的信息最后一个鼠标按钮按图窗口内发生。这个信息显示的类型选择。请通过以下文档了解回调图对象的属性。
//www.tianjin-qmedu.com/help/matlab/ref/figure-properties.html zmw57dd0e274973