Page 1 of 1

switch Numlock ON / OFF

Posted: Sat Feb 06, 2021 2:32 am
by AUGE_OHR
hi,

when use a Statusbar i can use $KEYBOARD to get Status of NumLock

Question : how can i "switch" Numlock itself :?:

Idea : when have a TEXTBOX Type NUMERIC i want to be sure that NumPad is "Workimg" = NumLock ON

Re: switch Numlock ON / OFF

Posted: Sat Feb 06, 2021 10:08 am
by karweru
Try _pushKey( VK_NUMLOCK )

Re: switch Numlock ON / OFF

Posted: Sat Feb 06, 2021 4:44 pm
by AUGE_OHR
hi,

is there a other Way than Statusbar to detect "IF" Numlock is ON or OFF :?:

Re: switch Numlock ON / OFF

Posted: Sat Feb 06, 2021 7:06 pm
by karweru
Try IsNumLockActive()

Re: switch Numlock ON / OFF

Posted: Sat Feb 06, 2021 7:53 pm
by AUGE_OHR
now i got all Parts and use GOTFOCUS to switch Numlock this Way

Code: Select all

FUNCTION SetNumLock(lOnOff)                  // -> lOldLocked
LOCAL lNumLock := IsNumLockActive()

   DO CASE
      CASE lOnOff = NIL                      // no Parameter -> RETURN Status
         RETURN lNumLock
      CASE lOnOff = .T.  .AND. !lNumLock     // Turn NumLock ON
       _pushKey( VK_NUMLOCK )
      CASE lOnOff = .F. .AND. lNumLock       // Turn NumLock OFF
       _pushKey( VK_NUMLOCK )
   ENDCASE

RETURN lNumLock

Re: switch Numlock ON / OFF

Posted: Sun Feb 07, 2021 2:43 am
by andyglezl
Y porqué no de esta manera... (solo lo pensé, no lo probé)
*---------------------------------------
And why not this way ... (I just thought about it, I didn't try it)

Code: Select all

	DEFINE STATUSBAR 
            CLOCK 
            DATE 
            STATUSITEM IF(IsNumLockActive(),"YES","NO")   WIDTH 10 ACTION  _pushKey( VK_NUMLOCK ) TOOLTIP "NumLock"
        END STATUSBAR
Or

Code: Select all

STATUSITEM " "  WIDTH 10 ACTION  SetNumLock(lOnOff) TOOLTIP "NumLock"

Code: Select all

FUNCTION SetNumLock(lOnOff)                  // -> lOldLocked
LOCAL lNumLock := IsNumLockActive()
    Form_1.StatusBar.Item(1) := IF(lNumLock,"YES","NO")
   DO CASE
        CASE lOnOff = NIL                      // no Parameter -> RETURN Status
         RETURN lNumLock
      CASE lOnOff = .T.  .AND. !lNumLock     // Turn NumLock ON
       _pushKey( VK_NUMLOCK )
       lNumLock := .T.
      CASE lOnOff = .F. .AND. lNumLock       // Turn NumLock OFF
       _pushKey( VK_NUMLOCK )
              lNumLock := .F.
   ENDCASE
   Form_1.StatusBar.Item(1) := IF(lNumLock,"YES","NO")
RETURN lNumLock

Re: switch Numlock ON / OFF

Posted: Sun Feb 07, 2021 4:10 am
by AUGE_OHR
hi,

as i understand STATUSITEM are part to Statusbar.

i do have 6 x Textbox Type "D","C","N","N","N","C"
my (old) Notebook have no NumPad. i have to switch it using Fn + SCROLL -> NUM On/Off

when using GOTFOCUS Event it will switch NUM On/Off automatic so it is much comfortable this Way