von wolli-j » Mo, 21.01.2013 21:57
Moin zusammen,
ich habe in meinem Leben weiß Gott schon 1001 OOO-Formulare programmiert, aber an einer Stelle scheitere ich jetzt zum wiederholten Male.
Was will ich tun? - Ich habe in einer Datenbankanwendung z.B. eine Ergebnistabelle innerhalb eines Formulars und möchte nun, dass der Benutzer einen Doppelklick auf eine Zeile macht und daraufhin ein Code ausgeführt wird, der z.B. Details zu diesem Datensatz aufruft oder ihn löscht oder oder oder ...
Da es ja für jedes Control die vordefinierten Ereignisse "Maustaste gedrückt" und "Maustaste losgelassen" gibt, die ich auf der Properties-Page des Controls mit einem Makro hinterfüttern kann, denkt sich mein kleines Gehirn, dass man da ja vielleicht irgendwie die Anzahl der Klicks abfragen kann (wenn Daten als "MouseEvent"-Struct vorliegen, wäre es ja da drin), aber ich verstehe mich nicht darauf, auf in dem Ereignismakro das MouseEvent einzubinden. Geht das? Wenn ja: wie?
Das Pendant in MS Office ist
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
...
End Sub
- da bekommt man die angeklickte Zelle auf dem Silbertablett serviert und der Doppelklick ist auch schon drin.
Oder ist die Lösung nur in den vermaledeiten Listenern zu suchen? Die sind ja nicht gerade leicht zu implementieren und beim Testen schmiert OOO zuverlässig ab. Ich habe mal ein Writer-Dokument mit einem Form und einem Control versucht und dahinein "ThisComponent.CurrentController.addMouseClickHandler(oHorcher)" gemacht. Die Ereignisse MousePressed und MouseReleased wurden wohl getriggert, aber das ist doch mal ehrlich a pain in the ass, für so einen kleinen Doppelklick ein halbes Lexikon programmieren zu müssen.
Wer kann meine Wahrnehmung hier mal geraderücken? Vielen Dank!
Moin zusammen,
ich habe in meinem Leben weiß Gott schon 1001 OOO-Formulare programmiert, aber an einer Stelle scheitere ich jetzt zum wiederholten Male.
Was will ich tun? - Ich habe in einer Datenbankanwendung z.B. eine Ergebnistabelle innerhalb eines Formulars und möchte nun, dass der Benutzer einen Doppelklick auf eine Zeile macht und daraufhin ein Code ausgeführt wird, der z.B. Details zu diesem Datensatz aufruft oder ihn löscht oder oder oder ...
Da es ja für jedes Control die vordefinierten Ereignisse [i]"Maustaste gedrückt"[/i] und [i]"Maustaste losgelassen"[/i] gibt, die ich auf der Properties-Page des Controls mit einem Makro hinterfüttern kann, denkt sich mein kleines Gehirn, dass man da ja vielleicht irgendwie die Anzahl der Klicks abfragen kann (wenn Daten als [i]"MouseEvent"[/i]-Struct vorliegen, wäre es ja da drin), aber ich verstehe mich nicht darauf, auf in dem Ereignismakro das MouseEvent einzubinden. Geht das? Wenn ja: wie?
Das Pendant in MS Office ist
[i] Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
...
End Sub[/i]
- da bekommt man die angeklickte Zelle auf dem Silbertablett serviert und der Doppelklick ist auch schon drin.
Oder ist die Lösung nur in den vermaledeiten Listenern zu suchen? Die sind ja nicht gerade leicht zu implementieren und beim Testen schmiert OOO zuverlässig ab. Ich habe mal ein Writer-Dokument mit einem Form und einem Control versucht und dahinein [i]"ThisComponent.CurrentController.addMouseClickHandler(oHorcher)"[/i] gemacht. Die Ereignisse [i]MousePressed[/i] und [i]MouseReleased [/i]wurden wohl getriggert, aber das ist doch mal ehrlich a pain in the ass, für so einen kleinen Doppelklick ein halbes Lexikon programmieren zu müssen.
Wer kann meine Wahrnehmung hier mal geraderücken? Vielen Dank!