Button Funktion während der Laufzeit zuweisen

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

mike0815
Beiträge: 8
Registriert: Fr, 16.07.2010 09:20

Button Funktion während der Laufzeit zuweisen

Beitrag 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
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Button Funktion während der Laufzeit zuweisen

Beitrag 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
mike0815
Beiträge: 8
Registriert: Fr, 16.07.2010 09:20

Re: Button Funktion während der Laufzeit zuweisen

Beitrag von mike0815 »

Code: Alles auswählen

        oDlg.getControl("CommandButton1").setActionCommand("Standard.Config.CommandButton1_Click (document, Basic)")
Danke, aber funktioniert leider auch nicht :(
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Button Funktion während der Laufzeit zuweisen

Beitrag 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) 677 mal betrachtet


Gruß
Stephan
mike0815
Beiträge: 8
Registriert: Fr, 16.07.2010 09:20

Re: Button Funktion während der Laufzeit zuweisen

Beitrag von mike0815 »

cmd.PNG
cmd.PNG (13.7 KiB) 673 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 
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Button Funktion während der Laufzeit zuweisen

Beitrag 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
mike0815
Beiträge: 8
Registriert: Fr, 16.07.2010 09:20

Re: Button Funktion während der Laufzeit zuweisen

Beitrag 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 :)
Antworten