Moin,
... tricky hab's mal zusammengestellt:
Private WithEvents objCmd As SolidEdgeFramework.Command
Private WithEvents objMouse As SolidEdgeFramework.Mouse
'
' dort einfuegen wo objApp gesetzt wird bzw. dort
' wo die Maus-Events wieder aktiviert werden sollen
' nach dem Klick wird es per Programm deaktiviert
' Falls das nicht per Programm geschieht hilft u.U. ein Rechtsklick
'
Set objCmd = objApp.CreateCommand(seNoDeactivate)
Set objMouse = objCmd.Mouse
objCmd.Start
objApp.Activate ' macht SE zum aktiven Fenster
'
' on Click
Private Sub objMouse_MouseClick(ByVal sButton As Integer, _
ByVal sShift As Integer, _
ByVal dX As Double, _
ByVal dY As Double, _
ByVal dZ As Double, _
ByVal pWindowDispatch As Object, _
ByVal lKeyPointType As Long, _
ByVal pGraphicDispatch As Object)
MsgBox "Mouse Clicked, Done wird aufgerufen"
objCmd.Done = True
End Sub
'
' wird aufgerufen wenn der Command gesetzt wird
Private Sub objCmd_Activate()
'
' properties nachlesen --> object browser
objMouse.ScaleMode = 1
objMouse.WindowTypes = 1
objMouse.DynamicsMode = 1
objMouse.EnabledMove = True
objMouse.LocateMode = seLocateOff ' oder fuer Auswahl: seLocateQuickPick
'
' wenn Auswahl dann Filter setzten (macht ggf. nur Sinn wenn nicht im Draft)
'objMouse.AddToLocateFilter seLocateRefPlane ' Referenzebene
End Sub
Siehe ansonsten MirAsm in \Custom
Aber daran denken: die Mausklicks bekommt das aktive Fenster. Es gibt
zwar eine moeglichkeit diese auch dann zu bekommen wenn das eigene
Fenster verdeckt ist aber wie weiss ich nicht.
modeng
[Diese Nachricht wurde von modeng am 19. Okt. 2004 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP