(изменено: Дарья Тарахова, 26 марта 2009г. 18:49:41)

Тема: Щелчок по примитиву

Добрый вечер!!!
Скажите пожалуйста можно ли сделать так чтобы  при двойном щелчке по примитиву появлялось бы меню, т.е. запускался бы код, который открывал бы меню???

Re: Щелчок по примитиву

Private Sub AcadDocument_BeginDoubleClick(ByVal PickPoint As Variant)
    'делай что хочешь
End Sub

Re: Щелчок по примитиву

> LeonidSN
Спасибо!!!
Скажите пожалуйста, а можно ли отменить появление окна свойств???
Ведь при двойном клике оно появляется :)

Re: Щелчок по примитиву

И еще небольшой вопросик:
я редактирую полилинию

Private Sub AcadDocument_ObjectModified(ByVal Object As Object)
MsgBox "парара"
End Sub

мне нужно чтобы код выполнялся после того как я подвину ее за маркер, но он начинает выполняться как только я щелкаю по маркеру

Re: Щелчок по примитиву

Подскажите пожалуйста насчет полилинии!
Очень нужно контролировать изменение длины полилинии :cry:

(изменено: fixo, 26 марта 2009г. 23:53:11)

Re: Щелчок по примитиву

А так вроде работает

Private Sub AcadDocument_ObjectModified(ByVal Obj As Object)

Me.SetVariable "OSMODE", 0
Select Case Obj.ObjectName
Case Is = "AcDbLine"
If Obj.Length <> 0 Then
MsgBox "Line length = " & Me.Utility.RealToString(Obj.Length, acDecimal, 2)
End If
Case Is = "AcDbPolyline"
If Obj.Length <> 0 Then
MsgBox "Polyline length = " & Me.Utility.RealToString(Obj.Length, acDecimal, 2)
End If
Case Is = "AcDbArc"
If Obj.ArcLength <> 0 Then
MsgBox "Arc length = " & Me.Utility.RealToString(Obj.ArcLength, acDecimal, 2)
End If
Case Is = "AcDbCircle"
If Obj.Circumference <> 0 Then
MsgBox "Circle circumference = " & Me.Utility.RealToString(Obj.Circumference, acDecimal, 2)
End If
End Select
Me.Regen acActiveViewport
Me.SetVariable "OSMODE", 1

End Sub

~'J'~

Re: Щелчок по примитиву

> fixo
На 2009 автокаде происходит фатальная ошибка и все закрывается. Попробую на 2007.

Re: Щелчок по примитиву

Дарья Тарахова пишет:

>LeonidSN
Спасибо!!!
Скажите пожалуйста, а можно ли отменить появление окна свойств???
Ведь при двойном клике оно появляется

Private Sub AcadDocument_BeginCommand(ByVal CommandName As String)
    If CommandName = "PROPERTIES" Then
        ThisDrawing.SendCommand ("_undo ")
    End If
    
End Sub

Re: Щелчок по примитиву

> LeonidSN
Не работает!!!
В коде написано что если команда "СВОЙСТВА" то надо в командную строку команду "ОТМЕНА" послать, так я поняла???
Он отменяет просто выделение объекта, а менюшка "СВОЙСТВА" не исчезает с экрана!

Re: Щелчок по примитиву

> fixo
На 2007 работает!!! Но немного коряво. При перемещении маркера полилинии код срабатывает несколько раз подряд ;)