Dialoge "X-en"
Verfasst: Do, 18.06.2009 16:44
Hi,
wie kann man das Schliessen eines Dialogs per"X" verhindern ?
LG
Andreas
wie kann man das Schliessen eines Dialogs per"X" verhindern ?
LG
Andreas
deutsches Forum rund um Apache OpenOffice und LibreOffice
http://www.oooforum.de/
Code: Alles auswählen
REM ***** BASIC *****
global EinstellungenDialog as object
global oWinListener
global oCB1Listener
global oCB2Listener
dim oEvent1
dim oEvent2
dim oNix
Sub Dialog_Anzeigen
EinstellungenDialogMod = createUnoService("com.sun.star.awt.UnoControlDialogModel")
with EinstellungenDialogMod
.setPropertyValue("BackgroundColor", (RGB(255,255,255)))
.setPropertyValue("Height", 180)
.setPropertyValue("Width", 70)
.setPropertyValue("Title", "Einstellungen")
.setPropertyValue("HelpText", "Bitte die gewünschten Einstellungen machen")
end with
EinstellungenDialog = createUnoService("com.sun.star.awt.UnoControlDialog")
'****Der Listener für's X
oWinListener = createUnoListener("bas2_", "com.sun.star.awt.XTopWindowListener")
EinstellungenDialog.addTopWindowListener(oWinListener)
EinstellungenDialog.setModel(EinstellungenDialogMod)
oCB1Listener = createUnoListener("oCb1_", "com.sun.star.awt.XActionListener")
oCB2Listener = createUnoListener("oCb2_", "com.sun.star.awt.XActionListener")
REM die Checkbox
oCheckbox1 = EinstellungenDialogMod.createInstance("com.sun.star.awt.UnoControlCheckBoxModel")
with oCheckbox1
.setPropertyValue("Label", "Checkbox_eins")
.setPropertyValue("PositionX", 10)
.setPropertyValue("PositionY", 10)
.setPropertyValue("Height", 15)
.setPropertyValue("Width", 140)
.setPropertyValue("State", 0)
end with
EinstellungenDialogMod.insertByName("Checkbox1", oCheckbox1)
oCheckbox1Control = EinstellungenDialog.getControl("Checkbox1")
oCheckbox1Control.addActionListener(oCB1Listener)
'Die zweite Checkbox
oCheckbox2 = EinstellungenDialogMod.createInstance("com.sun.star.awt.UnoControlCheckBoxModel")
with oCheckbox2
.setPropertyValue("Label", "Checkbox_zwei")
.setPropertyValue("PositionX", 10)
.setPropertyValue("PositionY", 30)
.setPropertyValue("Height", 15)
.setPropertyValue("Width", 140)
end with
EinstellungenDialogMod.insertByName("Checkbox2", oCheckbox2)
oCheckbox2Control = EinstellungenDialog.getControl("Checkbox2")
oCheckbox2Control.addActionListener(oCB2Listener)
EinstellungenDialog.setPosSize(20, 270, 40, 40, 3)
EinstellungenDialog.setvisible(true)
End Sub
'************Die Aktion des Listeners fürs X
sub bas2_windowClosing()
'Entfernen der Listener
EinstellungenDialog.removeTopWindowListener(oWinListener)
EinstellungenDialog.getControl("Checkbox1").removeActionListener(oCB1Listener)
EinstellungenDialog.getControl("Checkbox2").removeActionListener(oCB2Listener)
'Schliesen des Dialogs
EinstellungenDialog.dispose
end sub
'*********checkbox1 wird geändert***********
sub oCb1_actionPerformed(oEvent1)
if EinstellungenDialog.getControl("Checkbox1").State Then
msgbox "Checkbox1 ist aktiv"
else
msgbox "Checkbox1 ist inaktiv"
end if
end sub
'*********checkbox2 wird geändert***********
sub oCb2_actionPerformed(oEvent2)
if EinstellungenDialog.getControl("Checkbox2").State Then
msgbox "Checkbox2 ist aktiv"
else
msgbox "Checkbox2 ist inaktiv"
end if
end sub
'****Fenster wird aktiviert*******
sub bas2_windowActivated
oVSize = EinstellungenDialog.getPosSize
EinstellungenDialog.setPosSize(oVSize.X, oVSize.Y, oVSize.Width * 3, oVSize.Height , 12)
end sub
'****Fenster wird deaktiviert*******
sub bas2_windowDeActivated
oVSize = EinstellungenDialog.getPosSize
EinstellungenDialog.setPosSize(oVSize.X, oVSize.Y, oVSize.Width * (1/3), oVSize.Height , 12)
end sub