Seite 1 von 1

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

Verfasst: Fr, 09.01.2009 17:17
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

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

Verfasst: Sa, 10.01.2009 11:27
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

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

Verfasst: Sa, 10.01.2009 23:13
von wega
Hallo Jürgen,

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

Gruß
Werner

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

Verfasst: So, 11.01.2009 12:34
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