Lparameters nKeyCode, nShiftAltCtrl Local lcKey As String Local llMakestring As Boolean Local llFormRefresh As Boolean If nKeyCode > 0 lcKey = Upper(Chr(nKeyCode)) Else lcKey = [] Endif llMakestring = .F. llFormRefresh = .T. Do Case Case Inlist(nKeyCode, 13, 27) && Esc, Enter Thisform.Release() Case nKeyCode = 32 && Space Thisform.shiftmarked() Case Inlist(nKeyCode, 19, 4) && Left, Right Nodefault Case lcKey = [:] Thisform.pgfFieldPicker.page1.txtCursor.SetFocus() Case nShiftAltCtrl = 0 Do Case Case lcKey = [A] Thisform.selectall() Case lcKey = [B] _Cliptext = Thisform.creturn Case lcKey = [C] Thisform.nReturnType = 5 llMakestring = .T. Case lcKey = [D] Thisform.pgfFieldPicker.page1.txtprefix.SetFocus() Case lcKey = [E] Thisform.nReturnType = 2 llMakestring = .T. Case lcKey = [F] Thisform.lFrom = !Thisform.lFrom llMakestring = .T. Case lcKey = [G] Thisform.pgfFieldPicker.ActivePage = 2 Thisform.pgfFieldPicker.page2.grdShowTable.SetFocus() Case lcKey = [H] Thisform.lhideunselected = !Thisform.lhideunselected Case lcKey = [I] Thisform.nReturnType = 4 llMakestring = .T. Case lcKey = [K] Thisform.pgfFieldPicker.ActivePage = 1 This.grdPem_fieldpicker.SetFocus() Case lcKey = [L] Thisform.lUseNVL = !Thisform.lUseNVL llMakestring = .T. Case lcKey = [M] Thisform.pgfFieldPicker.page1.cmdRemovePrefix.Click() Case lcKey = [N] Thisform.ncasttype = 3 llMakestring = .T. Case lcKey = [O] Thisform.savedata() Case lcKey = [P] Thisform.nReturnType = 3 llMakestring = .T. Case lcKey = [R] Thisform.togglemarked() Case lcKey = [S] Thisform.shiftmarked() Case lcKey = [T] Thisform.ncasttype = 1 llMakestring = .T. Case lcKey = [U] Thisform.unselectall() Case lcKey = [V] Thisform.ncasttype = 2 llMakestring = .T. Case lcKey = [W] Thisform.nReturnType = 6 llMakestring = .T. Case lcKey = [X] Thisform.cprefix = Thisform.calias Case lcKey = [Y] Thisform.nReturnType = 1 llMakestring = .T. Case lcKey = [1] Thisform.ncursor = 1 llMakestring = .T. Case lcKey = [2] Thisform.ncursor = 2 llMakestring = .T. Case lcKey = [:] Thisform.pgfFieldPicker.page1.txtCursor.SetFocus() Otherwise llFormRefresh = .F. Endcase Endcase If llFormRefresh thisform.Refresh() Endif If llMakestring Thisform.makeresultstring() Endif