Ich arbeite mit OpenOffice und c# über die uno-Bridge.
Ich habe es bereits geschafft einen EventListener für das disposing hinzuzufügen.
Nun möchte ich aber noch auf Tastendrücke im openOffice (Writer) reagieren können.
Bei folgendem:
Code: Alles auswählen
frame.getContainerWindow().addKeyListener(new OOKeyListener(OOKeyEventHandler));
//...
public class OOKeyListener : XKeyListener
{
public delegate void KeyEventHandlerHelper(KeyEvent e, KeyEventType t);
private KeyEventHandlerHelper Ke;
public OOKeyListener(KeyEventHandlerHelper k)
{
Ke = k;
}
public void keyPressed(KeyEvent e)
{
MessageBox.Show("Fire!");
Ke.Invoke(e, KeyEventType.ket_Pressed);
}
public void keyReleased(KeyEvent e)
{
MessageBox.Show("Fire!");
Ke.Invoke(e, KeyEventType.ket_Released);
}
public void disposing(EventObject Source)
{
MessageBox.Show("Fire!");
}
}
Auch ein
Code: Alles auswählen
frame.getComponentWindow().addKeyListener(new OOKeyListener(OOKeyEventHandler));
Ich vermute dass ich den keyListener an einer falschen Stelle übergebe 8also an das falsche Objekt).
Wo wäre dass denn richtig untergebracht?