Code an Button in Draw/Impress

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

Moderator: Moderatoren

RobertO
Beiträge: 2
Registriert: Di, 28.06.2005 11:59

Code an Button in Draw/Impress

Beitrag von RobertO »

Hallo Leute,
noch 'ne Frage: Wie kann ich denn per Programmierung Basic-Code an eine Befehlsschaltfläche (Pushbutton) auf einem Impress-Dokument binden?
danke für nen Tipp
Robert
zap
**
Beiträge: 20
Registriert: Di, 11.01.2005 13:18
Wohnort: Hannover

Beitrag von zap »

Hi Robert,

versuchs mal mit dem folgenden. Dafuer brauchst du zwei Knoepfe mit den Namen a1 und a2 in einem Formular in einem Textdokument.

In Dialogen muesste man nicht so viel zwischen model und control wechseln wie hier.

wenn du eine erklaerung brauchst, oder ein besipiel fuer einen dialog, schreib nochmal!

Code: Alles auswählen

sub EreignisVerbinden
  ' beispiel fuer ein formular
  dok = thisComponent
  listener = CreateUnoListener("schaltflaeche_", "com.sun.star.awt.XActionListener")
  formular = dok.drawpage.forms(0)
 
  a1 = formular.getByName ("a1")
  a2 = formular.getByName ("a2")

  controller = dok.currentController
  a1_control = controller.getControl (a1) 
  a2_control = controller.getControl (a2) 

  a1_control.addActionListener(listener)
  a2_control.addActionListener(listener)
end sub

sub schaltflaeche_actionPerformed(ereignis as object)
	dim t as string
	t = "ereignis von: " & ereignis.source.model.name
	msgbox t
end sub

sub schaltflaeche_dispose
	' wird gebraucht, da sonst gelegentlicher absturz provoziert wird 
	'(leider nicht reproduzierbar, aber erfahrungswert).
end sub

Zap
Antworten