Listbox per ENTER-Taste / Anklicken auslösen?

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Carsten01
*
Beiträge: 17
Registriert: Mi, 20.12.2006 17:10

Listbox per ENTER-Taste / Anklicken auslösen?

Beitrag von Carsten01 »

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.
Toxitom
********
Beiträge: 3768
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Beitrag von 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 - 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
Carsten01
*
Beiträge: 17
Registriert: Mi, 20.12.2006 17:10

Beitrag von Carsten01 »

[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.
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Beitrag von Stephan »

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:
Ich kann zwar dem Ereignis "Maustaste gedrückt" ein Makro zuweisen, das berückstichtigt aber die Stelle, an welche geklickt wurde, leider nicht.
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ücken

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
Carsten01
*
Beiträge: 17
Registriert: Mi, 20.12.2006 17:10

Beitrag von Carsten01 »

[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!
Antworten