Community
Inventor Programming - iLogic, Macros, AddIns & Apprentice
Inventor iLogic, Macros, AddIns & Apprentice Forum. Share your knowledge, ask questions, and explore popular Inventor topics related to programming, creating add-ins, macros, working with the API or creating iLogic tools.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Dialog on OnSaveDocument

1 REPLY 1
Reply
Message 1 of 2
Anonymous
345 Views, 1 Reply

Dialog on OnSaveDocument

I try to open a Form that i create in the OnSaveDocument Event. I tested the Event with some MessageBox, they show up succesfully.

 

The Problem, My Form does not show on Screen.

 

        Private Sub m_appEvents_OnSaveDocument(ByVal DocumentObject As Inventor.Document, ByVal BeforeOrAfter As Inventor.EventTimingEnum, ByVal Context As Inventor.NameValueMap, ByRef HandlingCode As Inventor.HandlingCodeEnum) _
                                  Handles m_appEvents.OnSaveDocument
            If BeforeOrAfter = EventTimingEnum.kBefore Then
                If DocumentObject.DocumentType = DocumentTypeEnum.kAssemblyDocumentObject Or DocumentObject.DocumentType = DocumentTypeEnum.kPartDocumentObject Then

                    CheckCustomiProperty(DocumentObject, "Name englisch", "")
                    CheckCustomiProperty(DocumentObject, "BENKEY", "")

                    Dim oUDProps As PropertySet
                    oUDProps = DocumentObject.PropertySets.Item(4)

                    Dim oProps As PropertySet
                    oProps = DocumentObject.PropertySets.Item(3)

                    If oUDProps.Item("Name englisch").Value = ""

                        MsgBox(oUDProps.Item("Name englisch").Value)
                        MsgBox(oUDProps.Item("BENKEY").Value)
                        MsgBox(oProps.Item(2).Value)

                        MyForm.Show()
                        MyForm.TopMost = True

                    End If

                End If
            End If
        End Sub

 

The Important Part is:

 

'WORKS

                        MsgBox(oUDProps.Item("Name englisch").Value)
                        MsgBox(oUDProps.Item("BENKEY").Value)
                        MsgBox(oProps.Item(2).Value)

'DONT WORK
                        MyForm.Show()
                        MyForm.TopMost = True

 Thank you for your help, is it possible to show the Dialog ?

 

Best Regards Mathias

1 REPLY 1
Message 2 of 2
Vladimir.Ananyev
in reply to: Anonymous

I think you need to make Inventor the parent for your form.
Will you please look into this discussion:
http://forums.autodesk.com/t5/Autodesk-Inventor-Customization/Can-t-tab-through-Add-in-form/m-p/2528...

 Here is the source text of WindowWrapper class provided by Josh_Petitt

    ''' <summary>
    ''' Used to wrap a Win32 hWnd as a .Net IWind32Window class.
    ''' This is primarily used for parenting a dialog to the Inventor window.
    ''' </summary>
    ''' <remarks>
    ''' For example:
    ''' myForm.Show(New WindowWrapper(m_inventorApplication.MainFrameHWND))
    ''' </remarks>
    Public Class WindowWrapper
        Implements System.Windows.Forms.IWin32Window
        Public Sub New(ByVal handle As IntPtr)
            _hwnd = handle
        End Sub

        Public ReadOnly Property Handle() As IntPtr _
          Implements System.Windows.Forms.IWin32Window.Handle
            Get
                Return _hwnd
            End Get
        End Property

        Private _hwnd As IntPtr
    End Class

Vladimir Ananyev
Developer Technical Services
Autodesk Developer Network

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report