[gelöst]Enter-Taste mit gleicher funktion wie TAB-Taste wie?

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

wega
****
Beiträge: 148
Registriert: So, 03.06.2007 21:37

[gelöst]Enter-Taste mit gleicher funktion wie TAB-Taste wie?

Beitrag von wega »

Hallo zusammen,

turtle47 (Jürgen) hat hier im Forum die nachfolgende Funktion reingestellt.

Code: Alles auswählen

Private Sub MyTextField_KeyPressed(oEvt)
	If (oEvt.KeyCode = com.sun.star.awt.Key.RETURN) Then
	msgbox "Hi Werner," & CHR(10) & "so funktioniert der Listener für Die Return-Taste ;-)" & CHR(10) & _
	"Kannst Du damit etwas anfangen?"
	oDialog1.endexecute
	EndIf	
End Sub 


Function MyApp_KeyPressed(oEvt) As Boolean
	select case oEvt.KeyCode
	case 1280
	MyApp_KeyPressed = True
	msgbox "key """ & oEvt.KeyChar & """ pressed!"
	case else
	MyApp_KeyPressed = true
	end select
End Function 

mit der geht man aus dem Eingabefeld per Enter-Taste wieder raus und kommt zum Ergebnis.

Wie aber muß man das machen, daß man sowohl mit der TAB-Taste als auch mit der Enter-Taste beim Dialog von einem Eingabefeld in das nächste kommt?

Mit TAB alleine funktioniert es ja.

Gruß
Werner
Zuletzt geändert von wega am Sa, 10.01.2009 23:13, insgesamt 1-mal geändert.
turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Re: Enter-Taste mit gleicher funktion wie TAB-Taste wie?

Beitrag von turtle47 »

Hallo Werner,
wega hat geschrieben:als auch mit der Enter-Taste beim Dialog von einem Eingabefeld in das nächste kommt
Wenn man die Eingabefelder durchnummeriert wie:

TextField1
TextField2
TextField3
.......

dann ist das kein Problem wie Du in dem Beispiel sehen wirst. :lol:

Viel Erfolg.

Jürgen
Dateianhänge
Listener-Enter_Taste II.ods
(10.2 KiB) 76-mal heruntergeladen
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
wega
****
Beiträge: 148
Registriert: So, 03.06.2007 21:37

Re: Enter-Taste mit gleicher funktion wie TAB-Taste wie?

Beitrag von wega »

Hallo Jürgen,

vielen Dank für Deine Hilfe.
Alleine wäre mir das nicht so schnell eingefallen.

Gruß
Werner
turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Re: [gelöst]Enter-Taste mit gleicher funktion wie TAB-Taste wie?

Beitrag von turtle47 »

Hi Werner,

wenn Du die Namen der Kontrollfelder nicht ändern möchtes kannst Du auch über den Tab-Index gehen:

Code: Alles auswählen

Dim oDialog1 as Object
Dim oForm as Object
Dim TabIndex as integer
Dim mControls as Object

Sub TextBox_Focus
	DialogLibraries.loadLibrary("Standard") 
	oForm = DialogLibraries.Standard.Dialog1	
	oDialog1 = CreateUnoDialog(oForm)
	mControls=oDialog1.tabControllers(0).controls 
	TabIndex = 1
	oDialog1.execute	 
end sub


Private Sub MyTextField_KeyPressed(oEvt)
	If (oEvt.KeyCode = com.sun.star.awt.Key.RETURN) Then
	xControl = mControls(TabIndex)
	xControl.setFocus
	TabIndex = TabIndex + 1
	EndIf
	if TabIndex = 6 Then
	TabIndex = 0
	end if
End Sub 


Function MyApp_KeyPressed(oEvt) As Boolean
	select case oEvt.KeyCode
	case 1280
	MyApp_KeyPressed = true
	end select
End Function
Schönen Sonntag noch.

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
Antworten