gpt4 book ai didi

c++ - 单击时获取鼠标屏幕坐标

转载 作者:行者123 更新时间:2023-11-28 00:45:16 25 4
gpt4 key购买 nike

如何在用户单击鼠标左键(鼠标单击坐标 - 换句话说)后立即获取鼠标屏幕坐标。它适用于使用 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;

它返回带有 pt.xpt.y 的 JavaScript 数组 Dtd,然后我使用这个数组来渲染它通过 JS 在我的页面上坐标。这个只在页面开始时给我鼠标坐标。

然后我在 if 中尝试 WM_LBUTTONUP == MK_RBUTTON;它给了我一些随机的大数字...我能做什么?
你能帮帮我吗?

最佳答案

如果你想在你的 javascript 函数中获取鼠标位置,你可以在你的插件中创建一个回调 JSAPI 函数,并在单击鼠标左键时调用它,参数为鼠标坐标的 FB::VariantList。您可以通过在继承自 FB::PluginCore 的类中重载 onMouseDown 事件来检测鼠标点击。要注册 onMouseDown 事件,您可以在 header 中使用以下代码。

BEGIN_PLUGIN_EVENT_MAP() <br/>
   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 *) <br/>
{



   if(evt->m_Btn == FB::MouseButtonEvent::MouseButton_Left) <br/>
   {<br/>
     /** <br/>
      * apiPtr is the pointer to FB::JSAPIPtr <br/>
      * mousePositionCallback is the JSAPI function which takes variant list of mouse <br/>
      * co-ordinates as argument <br/>
      */ <br/>
      apiPtr->invoke("mousePositionCallback", FB::variant_list_of(evt->m_x)(evt->m_y)); <br/>
   }<br/>
}

希望这就是您要问的问题。你的问题有点含糊。

关于c++ - 单击时获取鼠标屏幕坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16509130/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com