von F3K Total » So, 08.11.2015 12:10
Hi,
da mir mir nun schon die Mühe gemacht habe, möchte ich Euch eine Lösung mit
StateChangeListener nicht vorenthalten.
Code: Alles auswählen
global oStateChangeListener
Sub Listener_erzeugen
odoc = Thiscomponent
opage = odoc.drawpage
for i = 0 to opage.count - 1
oshape = oPage(i)
if oShape.Name = "CalcTabelle1" then
oEXCOEO = oShape.ExtendedControlOverEmbeddedObject
oStateChangeListener = CreateUnoListener( "StateChangeListener_", "com.sun.star.embed.XStateChangeListener")
oEXCOEO.addStateChangeListener(oStateChangeListener)
endif
next i
End Sub
Sub Listener_entfernen
odoc = Thiscomponent
opage = odoc.drawpage
for i = 0 to opage.count - 1
oshape = oPage(i)
if oShape.Name = "CalcTabelle1" then
oEXCOEO = oShape.ExtendedControlOverEmbeddedObject
oEXCOEO.removeStateChangeListener(oStateChangeListener)
endif
next i
End Sub
Sub StateChangeListener_changingState(oEvent,nOldState,nNewState)
'(com.sun.star.embed.EmbedStates.UI_ACTIVE)LOADED = 0,RUNNING = 1,ACTIVE = 2,INPLACE_ACTIVE = 3,UI_ACTIVE = 4
if nNewState = 4 then
Print "Calc wechselt in den Bearbeitungsmodus"
else
Print "Calc verläßt den Bearbeitungsmodus"
endif
End Sub
Sub StateChangeListener_stateChanged(oEvent,nOldState,nNewState)
'(com.sun.star.embed.EmbedStates.UI_ACTIVE)LOADED = 0,RUNNING = 1,ACTIVE = 2,INPLACE_ACTIVE = 3,UI_ACTIVE = 4
if nNewState = 4 then
Print "Calc im Bearbeitungsmodus"
else
Print "Calc nicht mehr im Bearbeitungsmodus"
endif
End Sub
Sub StateChangeListener_disposing
end sub
Gruß R
- Dateianhänge
-
- StateChangeListener_ Calc_in Writer_eingebettet_embedded_.odt
- (17.76 KiB) 81-mal heruntergeladen
Hi,
da mir mir nun schon die Mühe gemacht habe, möchte ich Euch eine Lösung mit [color=#0040FF][b]StateChangeListener[/b][/color] nicht vorenthalten.
[code]global oStateChangeListener
Sub Listener_erzeugen
odoc = Thiscomponent
opage = odoc.drawpage
for i = 0 to opage.count - 1
oshape = oPage(i)
if oShape.Name = "CalcTabelle1" then
oEXCOEO = oShape.ExtendedControlOverEmbeddedObject
oStateChangeListener = CreateUnoListener( "StateChangeListener_", "com.sun.star.embed.XStateChangeListener")
oEXCOEO.addStateChangeListener(oStateChangeListener)
endif
next i
End Sub
Sub Listener_entfernen
odoc = Thiscomponent
opage = odoc.drawpage
for i = 0 to opage.count - 1
oshape = oPage(i)
if oShape.Name = "CalcTabelle1" then
oEXCOEO = oShape.ExtendedControlOverEmbeddedObject
oEXCOEO.removeStateChangeListener(oStateChangeListener)
endif
next i
End Sub
Sub StateChangeListener_changingState(oEvent,nOldState,nNewState)
'(com.sun.star.embed.EmbedStates.UI_ACTIVE)LOADED = 0,RUNNING = 1,ACTIVE = 2,INPLACE_ACTIVE = 3,UI_ACTIVE = 4
if nNewState = 4 then
Print "Calc wechselt in den Bearbeitungsmodus"
else
Print "Calc verläßt den Bearbeitungsmodus"
endif
End Sub
Sub StateChangeListener_stateChanged(oEvent,nOldState,nNewState)
'(com.sun.star.embed.EmbedStates.UI_ACTIVE)LOADED = 0,RUNNING = 1,ACTIVE = 2,INPLACE_ACTIVE = 3,UI_ACTIVE = 4
if nNewState = 4 then
Print "Calc im Bearbeitungsmodus"
else
Print "Calc nicht mehr im Bearbeitungsmodus"
endif
End Sub
Sub StateChangeListener_disposing
end sub[/code]
Gruß R