Hallo,
eine Frage zu Dialog - Listbox.
Ich würde gerne einen Eintrag per Enter-Taste auswählen, d.h. ohne noch extra auf OK zu gehen. Geht das irgendwie?
Wie ich einen Eintrag per Doppelklick auswähle, habe ich gefunden. Auch wenn etwas unschön ist, daß man nicht ohne weiteres sieht, ob der Dialog per Escape-Taste oder Doppelklick beendet wurde. Mit oDialog.EndExecute() kann man offenbar keinen Parameter an Ergebnis=oDialog.Execute() übergeben. So benutze ich eben eine globale Variable dafür. Geht es evtl. auch per per Einfach-Klick? Ich kann zwar dem Ereignis "Maustaste gedrückt" ein Makro zuweisen, das berückstichtigt aber die Stelle, an welche geklickt wurde, leider nicht.
Listbox per ENTER-Taste / Anklicken auslösen?
Moderator: Moderatoren
Hey Carsten,
Der einfache "Klick" auf ein Element einer Listbox wählt dieses aus, dieses Ereignis ist vorgegeben.
Natürlich könntest du ein Makro starten auf das Ereignis Mausklick - wie du schon richtig festgestellt hast - und dann die Selektion abfragen - nur, sollte nichts selektiert worden sein, dann musst du den Fehler halt selbst abfangen.
Die Sichere Methode ist da schon der Doppelklick oder die seperate OK-Taste.
Gut, dass du unabhängige Routinen brauchst und keine Parameter an dein Ergebnis zurückliefern kannst, ist richtig, habe ich aber nie als Problem empfunden. Das macht man über globale Schalter, wie du richtig erkannt hast.
Viele Grüße
Thomas
Der einfache "Klick" auf ein Element einer Listbox wählt dieses aus, dieses Ereignis ist vorgegeben.
Natürlich könntest du ein Makro starten auf das Ereignis Mausklick - wie du schon richtig festgestellt hast - und dann die Selektion abfragen - nur, sollte nichts selektiert worden sein, dann musst du den Fehler halt selbst abfangen.
Die Sichere Methode ist da schon der Doppelklick oder die seperate OK-Taste.
Gut, dass du unabhängige Routinen brauchst und keine Parameter an dein Ergebnis zurückliefern kannst, ist richtig, habe ich aber nie als Problem empfunden. Das macht man über globale Schalter, wie du richtig erkannt hast.
Viele Grüße
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
[quote="Toxitom"]Hey Carsten,
Der einfache "Klick" auf ein Element einer Listbox wählt dieses aus, dieses Ereignis ist vorgegeben.
Natürlich könntest du ein Makro starten auf das Ereignis Mausklick - wie du schon richtig festgestellt hast - und dann die Selektion abfragen[/quote]
Nein, ein wenn dem Ereignis Mausklick eine Aktion zugewiesen ist, bewirkt ein Klick eben keine Selektion. Das war ja die Frage.
Der einfache "Klick" auf ein Element einer Listbox wählt dieses aus, dieses Ereignis ist vorgegeben.
Natürlich könntest du ein Makro starten auf das Ereignis Mausklick - wie du schon richtig festgestellt hast - und dann die Selektion abfragen[/quote]
Nein, ein wenn dem Ereignis Mausklick eine Aktion zugewiesen ist, bewirkt ein Klick eben keine Selektion. Das war ja die Frage.
Ich fürchte hier ist ein Mißverständnis, Du sprachst von:Nein, ein wenn dem Ereignis Mausklick eine Aktion zugewiesen ist, bewirkt ein Klick eben keine Selektion. Das war ja die Frage.
Thomas hingegegen von 'Klick', was für mein Verständnis ein 'ganzer' Klick ist, also Maustaste drücken und Maustaste loslassen und nicht nur ein 'halber Klick' -->Maustaste drückenIch kann zwar dem Ereignis "Maustaste gedrückt" ein Makro zuweisen, das berückstichtigt aber die Stelle, an welche geklickt wurde, leider nicht.
Der "Klick" den Thomas meint ist somit ein Ganzer was dann, für mein Verständnis, dem Ereignis "Status geändert" entspräche.
Gruß
Stephan
[quote="Stephan"]
Der "Klick" den Thomas meint ist somit ein Ganzer was dann, für mein Verständnis, dem Ereignis "Status geändert" entspräche.
[/quote]
Stimmt und Du hast mir dadurch zur naheliegenden Lösung verholfen. "Status geändert" war es nicht aber ich habe jetzt das Ereignis "Maustaste losgelassen" genommen und es geht. Jetzt fehlt noch die Enter-Taste. :-)
Vielen Dank!
Der "Klick" den Thomas meint ist somit ein Ganzer was dann, für mein Verständnis, dem Ereignis "Status geändert" entspräche.
[/quote]
Stimmt und Du hast mir dadurch zur naheliegenden Lösung verholfen. "Status geändert" war es nicht aber ich habe jetzt das Ereignis "Maustaste losgelassen" genommen und es geht. Jetzt fehlt noch die Enter-Taste. :-)
Vielen Dank!