Domino 9 und frühere Versionen > ND7: Entwicklung

Shortcut zu Bestimmten Feld

<< < (2/4) > >>

Klaas:
Hallo Demian,

kann man das was in dem Bild Rot gekennzeichnet damit machen?
Also von einem beliebigen Feld in ein Bestimmtes Springen?
Sorry das ich vorher nicht die passenden Worte dafür gefunden habe.

Die Blauen "Paint"-Striche ist der momentane Weg.
Die Roten "Paint"-Striche der gewünschte Weg.

Axel:
Dann bleibt dir nur der Exiting - Event der entsprechenden Felder.

Dort packst du jeweils das untenstehende Script rein.

   Dim workspace As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Set uidoc = workspace.CurrentDocument
   Call uidoc.GoToField( "Name des Leistungsfeldes" )

Wenn der User die Felder z.B. mit der Tab-Taste verlässt, dann sprint er zum Leistungsfeld. Ein andere Möglichkeit sehe ich nicht.

Axel

Grischu:
Die einzige möglichkeit die ich sehe wäre über externe Aufrufe


in der Maske in den Deklarationen


--- Code: ---Declare Function GetKeyboardState Lib "user32.dll" (Byval vKey As Variant) As Boolean
Const VK_SHIFT = 16
--- Ende Code ---


in Exiting Event des Feldes:

--- Code: --- Dim ws As New notesuiworkspace
Dim Keys(255) As Byte

GetKeyboardState(Keys)
If keys(VK_SHIFT)>127 Then
ws.CurrentDocument.GotoField("<FELDNAME>")
End If
--- Ende Code ---


Es funktioniert zwar, aber eigentlich mag ich solche Sachen nicht so besonders. Es schränkt die Verwendbarkeit auf Windowsclients ein.

Welche Codes für welche Tasten findest du hier http://msdn.microsoft.com/en-us/library/ms645540(VS.85).aspx

Klaas:
Cool,
Danke Grischu,

mit Shift Funktioniert das jetz auch.
Leider Brauche ich aber eine andere Taste. VK_F2


--- Code: ---Const VK_F2 = 16
Dim ws As New notesuiworkspace
Dim Keys(255) As Byte

GetKeyboardState(Keys)
If keys(VK_F2)>113 Then
ws.CurrentDocument.GotoField("CalcLeistungsNr")
End If
--- Ende Code ---
Ich habe auch 0x71 von Binär in Dezimal umgerechnet aber das brachte auch nichts.
Wo liegt der Fehler

Grischu:
so


--- Code: ---Const VK_F2 = 113
Dim ws As New notesuiworkspace
Dim Keys(255) As Byte

GetKeyboardState(Keys)
If keys(VK_F2)>127 Then
ws.CurrentDocument.GotoField("CalcLeistungsNr")
End If

--- Ende Code ---


wenn die Taste gedrückt ist wird Bit 8 gesetzt welches denn Wert 128 hat


/edit

"If keys(VK_F2)>128 Then"  war falsch von mir muss  "If keys(VK_F2)>127 Then" sein !

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln