von Stephan » Mi, 25.06.2008 10:50
kann ich diesem auch ein Makro zuordnen oder es ganz entfernen?
wenn du einen modalen Dialog verwendest kannst Du die normale Funktion des [x] unterdrücken und/oder ein Makro zuordnen.
Das Unterdrücken der Funktion von [x] geht beispielsweise so:
Code: Alles auswählen
Sub erzeuge_warten()
warten_model = CreateUnoService("com.sun.star.awt.UnoControlDialogModel")
warten_model.setPropertyValue("Width", 150) '343
warten_model.setPropertyValue("Height", 20)
warten_model.SetPropertyValue("Title","Bitte etwas Geduld")
oMod_warten = warten_model.createInstance("com.sun.star.awt.UnoControlFixedTextModel")
With oMod_warten
.setPropertyValue("Name","warten1")
.setPropertyValue("PositionX",5) '192
.setPropertyValue("PositionY",5)
.setPropertyValue("Width",140)
.setPropertyValue("Height",13)
.setPropertyValue("Label","Formatierung wird gelesen ...")
'.setPropertyValue("Align",1)
'nicht verfügbar in OOo 1.x
'.setPropertyValue("VerticalAlign",1)
End With
warten_model.insertByName("warten1", oMod_warten)
warten_dialog = CreateUnoService("com.sun.star.awt.UnoControlDialog")
warten_dialog.setModel(warten_model)
oWin2 = CreateUnoService("com.sun.star.awt.Toolkit")
warten_dialog.createPeer(oWin2, null)
warten_dialog.setVisible(True)
End Sub
Wie Du wweitere Steuerelemente auf einen solchen Dialog bekommst, also z.B. DEine SChaltfläche, und denen ggf. Makros zuordnest, kannst Du Dir im Code meiner Extension mottco ansehen:
http://www.calc-info.de/makros.htm#mottco
von der auch obriger Code entnommen ist.
Auch sollte es möglich sein das Schliessen-Ereignis eines normalen dialogs abzufangen indem Du einen entsprechenden Listener registrierst.
Ggf. (ich bin im Moment nicht sicher) reicht es für DEine Zwecke wohl auch ein Makro an das ohnehin vorhandene lost-fokus Ereignis des Dialogs anzuhängen.
Gruß
Stephan
[quote]kann ich diesem auch ein Makro zuordnen oder es ganz entfernen?[/quote]
wenn du einen modalen Dialog verwendest kannst Du die normale Funktion des [x] unterdrücken und/oder ein Makro zuordnen.
Das Unterdrücken der Funktion von [x] geht beispielsweise so:
[code]Sub erzeuge_warten()
warten_model = CreateUnoService("com.sun.star.awt.UnoControlDialogModel")
warten_model.setPropertyValue("Width", 150) '343
warten_model.setPropertyValue("Height", 20)
warten_model.SetPropertyValue("Title","Bitte etwas Geduld")
oMod_warten = warten_model.createInstance("com.sun.star.awt.UnoControlFixedTextModel")
With oMod_warten
.setPropertyValue("Name","warten1")
.setPropertyValue("PositionX",5) '192
.setPropertyValue("PositionY",5)
.setPropertyValue("Width",140)
.setPropertyValue("Height",13)
.setPropertyValue("Label","Formatierung wird gelesen ...")
'.setPropertyValue("Align",1)
'nicht verfügbar in OOo 1.x
'.setPropertyValue("VerticalAlign",1)
End With
warten_model.insertByName("warten1", oMod_warten)
warten_dialog = CreateUnoService("com.sun.star.awt.UnoControlDialog")
warten_dialog.setModel(warten_model)
oWin2 = CreateUnoService("com.sun.star.awt.Toolkit")
warten_dialog.createPeer(oWin2, null)
warten_dialog.setVisible(True)
End Sub[/code]
Wie Du wweitere Steuerelemente auf einen solchen Dialog bekommst, also z.B. DEine SChaltfläche, und denen ggf. Makros zuordnest, kannst Du Dir im Code meiner Extension mottco ansehen:
http://www.calc-info.de/makros.htm#mottco
von der auch obriger Code entnommen ist.
Auch sollte es möglich sein das Schliessen-Ereignis eines normalen dialogs abzufangen indem Du einen entsprechenden Listener registrierst.
Ggf. (ich bin im Moment nicht sicher) reicht es für DEine Zwecke wohl auch ein Makro an das ohnehin vorhandene lost-fokus Ereignis des Dialogs anzuhängen.
Gruß
Stephan