首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未显示onMouseClick事件的

未显示onMouseClick事件的
EN

Stack Overflow用户
提问于 2022-10-28 12:31:06
回答 1查看 41关注 0票数 0

我正在尝试在我的类中获取onMouseclick事件,我正在编写该事件以获得用户交互,并捕获屏幕上的单击以获取坐标

我在m_mouse中看到的选项是终止、挂起、恢复和帮助,这可能是一件简单的事情。

更多信息:我正尝试在Autodesk Inventor (3D建模)软件应用程序中获取mouseclick的绘图界面。

代码语言:javascript
复制
Public Class Cls_GetDrawingPickPoint
    Private WithEvents m_interaction As Inventor.InteractionEvents
    Private WithEvents m_mouse As InteractionEvents
    Private m_position As Point2d
    Private m_button As MouseButtonEnum
    Private m_continue As Boolean

    Public Sub New()
    End Sub

    Public Function GetDrawingPoint(Prompt As String, button As MouseButtonEnum) As Point2d

        m_position = Nothing
        m_button = button

        ' Start selection.
        m_interaction = g_inventorApplication.CommandManager.CreateInteractionEvents
        m_mouse = m_interaction.MouseEvents

        m_interaction.StatusBarText = Prompt
        m_interaction.Start()

        Do While m_continue
            g_inventorApplication.UserInterfaceManager.DoEvents()
        Loop


        m_interaction.Stop()
        GetDrawingPoint = m_position
        Return GetDrawingPoint

        'Debug.Print("GetDrawingPoint: " & GetDrawingPoint.X & "," & GetDrawingPoint.Y)


    End Function

    Private Sub m_mouse_OnMouseClick(button As MouseButtonEnum, ShiftKeys As ShiftStateEnum, ModelPosition As Point, ViewPosition As Point2d, View As Inventor.View) Handles m_mouse.OnMouseClick
       If button = m_button Then
        m_position = g_inventorApplication.TransientGeometry.CreatePoint2d(ModelPosition.X, ModelPosition.Y)
        Debug.Print(m_position.X & "," & m_position.Y)
        End If

        m_continue = False
        ' MsgBox("Mouse clicked: " & m_position.X & "," & m_position.Y)

    End Sub


    Private Sub m_interaction_OnTerminate() Handles m_interaction.OnTerminate
        m_continue = False
        m_interaction.Stop()
    End Sub

    Private Sub m_interaction_OnActivate() Handles m_interaction.OnActivate
        m_continue = True

    End Sub


End Class
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-28 16:01:54

看起来实际的对象是MouseEvents类型,它继承了InteractionEvents,而OnMouseDown是该类型的成员。为了访问该类型的成员,需要将m_mouse字段声明为该类型。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74235458

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档