获得鼠标屏幕坐标点击
Get mouse screen coordinates on click
如何在用户单击鼠标左键后获得鼠标屏幕坐标(鼠标单击坐标-换句话说)。这是用FireBreath编写的插件。我想用:
FB::variant TestPluginAPI::Detect()
{
POINT pt;
if (WM_LBUTTONUP)
{
GetCursorPos(&pt);
}
FB::VariantList Dtd = FB::variant_list_of(pt.x)(pt.y);
return Dtd;
它返回JavaScript数组Dtd
与pt.x
和pt.y
在它,然后我使用这个数组来渲染这个坐标在我的页面上通过JS。这个只在页首给我鼠标。
然后我在if
中尝试WM_LBUTTONUP == MK_RBUTTON
;它会给我一些随机的大数字……我能做什么?
你能帮帮我吗?
如果你想在javascript函数中获得鼠标位置,你可以在插件中创建一个回调JSAPI函数,并在点击鼠标左键时调用它,参数为FB::VariantList的鼠标坐标。你可以通过重载从FB::PluginCore继承的类中的onMouseDown事件来检测鼠标点击。要注册onMouseDown事件,可以在header中使用以下代码:
BEGIN_PLUGIN_EVENT_MAP()
EVENTTYPE_CASE(FB::MouseDownEvent, onMouseDown, FB::PluginWindow)
END_PLUGIN_EVENT_MAP()
virtual bool onMouseDown(FB::MouseDownEvent *evt, FB::PluginWindow *);
onMouseDown可以定义为-
bool MirrarOrnaments::onMouseDown(FB::MouseDownEvent *evt, FB::PluginWindow *)
{
if(evt->m_Btn == FB::MouseButtonEvent::MouseButton_Left)
{
/**
* apiPtr is the pointer to FB::JSAPIPtr
* mousePositionCallback is the JSAPI function which takes variant list of mouse
* co-ordinates as argument
*/
apiPtr->invoke("mousePositionCallback", FB::variant_list_of(evt->m_x)(evt->m_y));
}
}
希望这是你想问的。你的问题有点模糊
WM_LBUTTONUP是一个WinAPi函数,所以你应该可以访问与消息一起的lParam。
xPos = GET_X_LPARAM(lParam);
yPos = GET_Y_LPARAM(lParam);
- UE4-如何在给定4个屏幕坐标的情况下缩放纹理或材质
- 如何在Openscenegraph中从二维鼠标点击的屏幕坐标点计算三维点(世界坐标)
- OpenGL屏幕坐标到世界坐标
- 将 2D 屏幕坐标转换为 3D 世界坐标
- 捕获Linux/Ubuntu(屏幕捕获 鼠标/键盘事件)中的窗口事件
- 屏幕坐标和设备坐标有什么区别?
- 使用二维屏幕坐标gluUnproject获取三维模型坐标
- 对话框单位到屏幕坐标
- 将屏幕鼠标坐标转换为窗口坐标
- 将文本光标移动到特定的屏幕坐标
- 在 OpenGL 中将 3D 坐标转换为屏幕坐标
- 原点直接到屏幕坐标
- 将屏幕坐标转换为游戏坐标
- 俯仰和偏航至2d屏幕坐标
- 将顶点坐标转换为屏幕坐标"same"
- OpenGL转换在NDC坐标而不是屏幕坐标(2D)
- 在路径跟踪器中查找屏幕坐标背后的数学
- 如何将屏幕上的鼠标坐标转换为3D坐标
- 笛卡尔坐标和屏幕坐标之间的转换
- 排序屏幕坐标