Seite 1 von 1

Button Funktion während der Laufzeit zuweisen

Verfasst: Mo, 26.07.2010 10:53
von mike0815
Guten Morgen,

wie kann ich einem Button eine Funktion während der Laufzeit zuweisen?
Hier http://api.openoffice.org/docs/common/r ... utton.html steht "command string", aber wie ist dieser aufgebaut ?

Code: Alles auswählen

        oDlg.getControl("CommandButton1").setActionCommand("Config.CommandButton1_Click()")
funktioniert nicht...

Vielen Dank schonmal

Re: Button Funktion während der Laufzeit zuweisen

Verfasst: Mo, 26.07.2010 12:23
von Stephan
Hier http://api.openoffice.org/docs/common/r ... utton.html steht "command string", aber wie ist dieser aufgebaut ?
mutmaßlich ist dieser Command String identisch mit demjenigen der bei manueller Zuweisung verwendet wird und im Eigenschaftsdialog des Buttons im Register Ereignisse ablesbar ist.


Gruß
Stephan

Re: Button Funktion während der Laufzeit zuweisen

Verfasst: Mo, 26.07.2010 12:45
von mike0815

Code: Alles auswählen

        oDlg.getControl("CommandButton1").setActionCommand("Standard.Config.CommandButton1_Click (document, Basic)")
Danke, aber funktioniert leider auch nicht :(

Re: Button Funktion während der Laufzeit zuweisen

Verfasst: Mo, 26.07.2010 13:12
von Stephan
aber funktioniert leider auch nicht
und was? DEine Codezeile enthält nichts was mich an einen Commandeintrag, im Sinne des von mir Genannten, erinnern würde, übliche Einträge sehen bei mir jedenfalls so aus:
ausloesen.gif
ausloesen.gif (9.39 KiB) 696 mal betrachtet


Gruß
Stephan

Re: Button Funktion während der Laufzeit zuweisen

Verfasst: Mo, 26.07.2010 13:29
von mike0815
cmd.PNG
cmd.PNG (13.7 KiB) 692 mal betrachtet
Windows XP, OpenOffice 3.2.1

Code: Alles auswählen

oDlgConfig.getControl("CommandButton_ConfigBrowse").setActionCommand ("vnd.sun.star.script:Standard.Config.CommandButton_ConfigBrowse_Click?language=Basic&location=document")
Funktioniert leider trotzdem nicht...


EDIT:
damit funktionierts

Code: Alles auswählen

....
    Dim oListener As Object
    oListener = CreateUnoListener( "myButtonEvent_", "com.sun.star.awt.XActionListener" )
    oDlgConfig.getControl("CommandButton_ConfigBrowse").addActionListener( oListener )
    oDlgConfig.execute()
....


Sub myButtonEvent_actionPerformed()
	Config.CommandButton_ConfigBrowse_Click()
End Sub 

Re: Button Funktion während der Laufzeit zuweisen

Verfasst: Mo, 26.07.2010 14:12
von Stephan
[...]
Windows XP, OpenOffice 3.2.1
ich sehe diese Art des Eintrags leider hier zum ersten Mal
aber com.sun.star.awt.ActionEvent kennt natürlich MS VBA nicht.....
Jetzt hab ich ein Haufen Makros VBA und Starbasic kompatibel bekommen und jetzt funktionieren die Button nicht *arrrgg*
interessant ... schön das wir nun scheinbar zum wirklichen Thema kommen ...

ich habe jetzt aber leider keine Zeit mehr, zumal ich gerade sehe das du den Aufwand den ich zur Lösung DEines letzten Problems:
viewtopic.php?t=40239&p=149217#p149217

getrieben habe nicht einmal einer Info gewürdigt hast ob es funktioniert hat.


Gruß
Stephan

Re: Button Funktion während der Laufzeit zuweisen

Verfasst: Di, 27.07.2010 08:31
von mike0815
Stephan hat geschrieben:interessant ... schön das wir nun scheinbar zum wirklichen Thema kommen ...
VBA war hier nicht das Thema ;)
Ich habe genug Informationen gegeben, welche mein Problem beschrieben haben.
btw: war wohl doch etwas zu langsam mit meinem 2ten edit. Habs ja doch noch hin bekommen. "com.sun.star.awt.ActionEvent" brauch ich nur wenn ich der "xxxx_actionPerformed()" Parameter übergeben will.
Stephan hat geschrieben:getrieben habe nicht einmal einer Info gewürdigt hast ob es funktioniert hat.
Sorry, bin neu hier im Forum und habe erste jetzt gesehen, dass ich für jeden Thread die Benachrichtigung separat aktivieren muss.
Also Danke für die Hilfe :)