Hallo zusammen,
ich bin noch relativ unbedarft im oo Basic, deshalb diese Frage:
Ich habe ein Dialog mit vielen Eingabefeldern. Wenn ich nun mit der Maus in eines dieser Eingabefelder klicke, soll oo basic mir den Name dieses Eingabefeldes nennen!
Wie geht das?
In welchem Eingabefeld befinde ich mich gerade?
Moderator: Moderatoren
Re: In welchem Eingabefeld befinde ich mich gerade?
Habe gerade was gefunden, aber das funktioniert nicht bei Calc !
Sub Main
oDoc = thisComponent
oshape = oDoc.getCurrentSelection().getByIndex(0)
msgbox oShape.name
End Sub
Sub Main
oDoc = thisComponent
oshape = oDoc.getCurrentSelection().getByIndex(0)
msgbox oShape.name
End Sub
Re: In welchem Eingabefeld befinde ich mich gerade?
Hey Dolphin,
Um deinen Wunsch zu lösen, gibt es generell zwei Wege:
1. Listener schreiben, der auf Mausklick reagiert - jetzt checken, welches Control den fokus hat - Name ausgeben.
2. Makro schreiben mit dem selben Inhalt (also Schleife über alle Controls und suche, wer aktuell den Fokus hat) und Verknüpfen dieses Makros mit dem Ereignis - Fokus erhalten des Controls.
Hast du nur wenige Eingabefelder, ist es meist einfacher, für jedes ein eigenes Makro (aAufrufmakro) zu schreiben und es jeweils an das Ereignis "Fokus erhalten" des Feldes zu knüpfen. Spart dir jede Menge Arbeit.
Gruss
thomas
bevor wir aneinander vorbeireden: Erst sprichst du von Dialogen, jetzt von Calc??? Meinst du nun Formulare?..aber das funktioniert nicht bei Calc !
Um deinen Wunsch zu lösen, gibt es generell zwei Wege:
1. Listener schreiben, der auf Mausklick reagiert - jetzt checken, welches Control den fokus hat - Name ausgeben.
2. Makro schreiben mit dem selben Inhalt (also Schleife über alle Controls und suche, wer aktuell den Fokus hat) und Verknüpfen dieses Makros mit dem Ereignis - Fokus erhalten des Controls.
Hast du nur wenige Eingabefelder, ist es meist einfacher, für jedes ein eigenes Makro (aAufrufmakro) zu schreiben und es jeweils an das Ereignis "Fokus erhalten" des Feldes zu knüpfen. Spart dir jede Menge Arbeit.
Gruss
thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Re: In welchem Eingabefeld befinde ich mich gerade?
Hi Thomas,
danke erstmal für die Tipps! Ich meinte natürlich Dialog unter Calc, aber nun noch eine Frage, wie schreibt man einen Listener?
Ich habe einen Dialog mit ca. 90 Eingabefeldern! Was ist bei der Menge am besten und am schnellsten?
Gruß
Dolphin
danke erstmal für die Tipps! Ich meinte natürlich Dialog unter Calc, aber nun noch eine Frage, wie schreibt man einen Listener?
Ich habe einen Dialog mit ca. 90 Eingabefeldern! Was ist bei der Menge am besten und am schnellsten?
Gruß
Dolphin
Re: In welchem Eingabefeld befinde ich mich gerade?
Hi Dolphin,
des Kontrollfeldes unter Hilfetext den Namen des Kontrollfeldes eintragen.
Wenn Du dann mit der Maus auf das Kontrollfeld gehst wird der Hilfetext angezeigt.
Viel Erfolg.
Jürgen
Ich verstehe den den Sinn des ganzen noch nicht, aber Du könntest doch auch bei den EigenschaftenWenn ich nun mit der Maus in eines dieser Eingabefelder klicke, soll oo basic mir den Name dieses Eingabefeldes nennen!
des Kontrollfeldes unter Hilfetext den Namen des Kontrollfeldes eintragen.
Wenn Du dann mit der Maus auf das Kontrollfeld gehst wird der Hilfetext angezeigt.
Viel Erfolg.
Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem