Seite 1 von 1

Code an Button in Draw/Impress

Verfasst: Mi, 29.06.2005 13:05
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

Verfasst: Do, 30.06.2005 09:21
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