Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
KEYPRESS Property
Message
De
03/04/2016 12:42:29
 
 
À
03/04/2016 11:57:00
Information générale
Forum:
Visual FoxPro
Catégorie:
Autre
Versions des environnements
Visual FoxPro:
VFP 9 SP2
OS:
Windows 10
Database:
Visual FoxPro
Application:
Desktop
Divers
Thread ID:
01634227
Message ID:
01634228
Vues:
67
>I understand the KEYPRESS Property is kicked off when a key is pressed and then released.
>
>How exactly can I access the value of the key being pressed?
>
>Rich Murillo

To give you some idea, this is the actual code that's triggered in one of the grids' keypress event in SuperBrowse which comes with Thor:
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
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform