- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我已将其发布在 ESRI 支持论坛上,但目前还没有人提供解决方案。
背景: 我正在维护一个使用 ESRI ArcGIS 组件(版本 9.3.1 SP1)的 C++ map 显示应用程序。它实例化一个 Map 对象 (esriCarto::Map),查询 IActiveView 接口(interface),并调用 Activate 以传入 View 窗口客户区(并且还通过各种接口(interface)设置了一大堆其他属性)。然后在一系列绘图操作的中间使用它来渲染最终显示图像。
问题:WM_MOUSEWHEEL 事件似乎在 Map 对象(或子对象?)中被拾取,并导致奇怪的行为。应用程序中应该发生的是 View 窗口收到此消息,然后调用“缩放”方法来触发适当的重绘。实际发生的是消息通过 View 窗口的 PreTranslateMessage,然后显示区域出现故障,然后调用 View 窗口的 OnMouseWheel 处理程序来处理缩放。
“故障”是指 View 窗口短暂变白,然后重新显示之前的图像。这在与 ArcGIS 9.2 集成的应用程序的先前版本中没有发生,并且在发生这种故障效果时没有调用应用程序自己的绘图代码。如果通过替代上下文菜单选项调用窗口的缩放功能,也不会发生这种情况。
阅读引用信息一段时间后,我怀疑 map 的子 ScreenDisplay 对象正在响应鼠标滚轮事件并对 View 区域执行我们不希望它执行的操作 - 我也怀疑有一种方法告诉它不要,但我似乎无法找到它。我确实有一个解决方法,即处理 View 窗口的 PreTranslateMessage 中的缩放,并防止消息进一步传播,但这感觉有点像 hack。
那么,任何善良聪明的人都可以告诉我一种告诉 Map 对象忽略鼠标滚轮事件的方法吗?
最佳答案
迟到总比不到好...您可以通过调用 IMapControl4::put_AutoMouseWheel(VARIANT_FALSE) 禁用 MapControl 上的鼠标滚轮在您的 MapControl 对象上。
关于c++ - ESRI map 对象 - 是否可以禁用 MouseWheel 事件处理程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2864278/
我正在将我的项目转换为 cordova 应用程序。但我陷入了鼠标滚轮事件。 Cordova 的这个事件有什么相同之处? 我有一个 Canvas 和上面的一些物体。我使用鼠标滚轮事件放大/缩小。我想将它
有什么方法可以使用子上的鼠标滚轮处理程序来确定鼠标是向上还是向下滚动?例如 Private Sub PictureBox1_MouseWheel(ByVal sender As Object, ByV
我正在尝试为 svg 实现鼠标滚轮事件。我正在使用下面的代码。如果我使用 $(document).bind() ,这可以正常工作,但如果我使用 svg id svgmain ,它就不起作用。我希望鼠标
我有一个 Panel,其中 AutoScroll 为真。该面板包含许多较小的面板,它们像瓷砖一样填充所有可用空间。当要显示的子面板太多时,我会按预期获得垂直滚动条。 这些“图 block ”中的每一个
场景: 我需要创建一个由鼠标滚轮触发的曲线动画(弧形)。 所以,我想出了一些代码。 See demo here var arc = { center: [-200, ($(window).he
一段时间以来,我一直在使用 Robot 类模拟鼠标事件,一切顺利,直到我尝试使用 mouseWheel 函数进行滚动。我只有这条简单的线: Robot robot = new Robot();
长话短说,我正在尝试将“鼠标滚轮”事件绑定(bind)到带有滚动条的 div。 当我在我创建的插件之外使用它时,我的代码可以工作,但是当我尝试将它变成插件时,它什么也不做。我尝试将“鼠标滚轮”更改为单
我目前在我的页面顶部有一个灵活的 slider ,它应该在滚动时改变幻灯片,并且在某个点之后它应该回到正常的滚动行为。 我想做的是最初锁定滚动(是的,我知道改变滚动行为对用户体验来说是一件可怕的事情,
我创建了一个简单的应用程序,用于使用鼠标滚轮缩放图片框内的图像。它在我的开发笔记本电脑 (Win10) 上完美运行。但是当我在我的台式电脑(Win7)上运行它时,缩放(使用鼠标滚轮)功能不起作用。 下
我在下面使用下面的代码,在不同的方向滚动两个 div () 但我很想知道你是否可以限制滚动,这样它每次滚动只触发一次(而不是不断滚动并发送我的函数进入无限循环。 $('.page-left, .pag
我有一个 Windows 窗体(在 C#.NET 中工作)。 该表单顶部有几个面板,底部有一些 ComboBoxes 和 DataGridViews。 我想在顶部面板上使用滚动事件,但是如果选择例如C
我有一个 WPF 应用程序,它使用 WindowsFormsHost 控件来承载 Windows.Forms 控件。 我试图实现 MouseWheel 事件 - 但似乎 MouseWheel 事件从未
嗨,我有一个表单,里面有几个框架。 对于某些框架,我希望滚动内容(或至少处理鼠标滚轮事件)。 我尝试过以下方法: 只需为每个帧分配一个 OnMouseWheel 事件处理程序 重写父窗体的 Mouse
我有一个 StackPanel,里面有一个 Listview。 我希望能够在窗口内滚动,以更改 selectedItem。 澄清; 我想在滚动鼠标滚轮时更改我的 ViewModels Selected
如何设置 GNU screen 以允许鼠标滚轮在回滚缓冲区中滚动?我尝试在 Google 上搜索此事,但大多数点击都是关于如何允许 screen 内的应用程序使用滚轮。 最佳答案 我相信您可以将这样的
有很多关于如何水平滚动 div 内容的示例。问题是,当您水平滚动的元素位于本身可垂直滚动的页面中间时(由于其内容比窗口大小长),页面会垂直滚动,div 的内容也会水平滚动。 示例如下:http://j
我有一个水平滚动的网站。我使用 mousewheel.js 通过鼠标滚轮水平滚动(或上下滚动)。我正在使用 CSS Tricks 中的片段像这样: $("body").mousewheel(funct
我正在尝试处理 Safari 上的 mouseWheel 事件。您可以在下面看到我的完整功能示例 hmtl5/js 代码,用于测试 mouseWheel 事件。 我的代码在每个 mouseWheel
我正在为小型企业开发应用程序,但我遇到了水平滚动查看器的问题。 水平滚动查看器出现在屏幕上,但鼠标滚轮不起作用。 我有这个 XAML 代码:
我正在创建一个 UserControl,它应该在鼠标悬停在控件上并且 MouseWheel 旋转时使用react。 目前我正在这样做,如下所示: public MyUserControl()
我是一名优秀的程序员,十分优秀!