Interesting phenomenon: this code works. The KeyUp didn't trap the
virtual key codes at all. According to Petzold, the SyskeyUp/down
messages occur when the window is minimised, which is not the case
here. The dialog has no input facilities such as text boxes -- it is
purely a display of information using labels. It has a vertical scrollbar. The style is --

Code:
%WS_POPUP Or _
       %DS_SETFONT Or _
       %WS_BORDER Or _
       %DS_NOFAILCREATE Or _
       %WS_VSCROLL Or _
       %DS_SETFOREGROUND
and the exStyle is %WS_EX_TOPMOST

Code:
Select Case wMsg&

 Case %WM_SYSKEYUP  '%WM_KEYUP,
  
  Select Case wParam&

  Case %VK_ESCAPE
   Dialog End hJcaDlg&
   If JCAopt$="Viewing" Then JCAopt$="View"
   Control Disable hDlg&, %JAextBtn
   Control Handle hDlg&, %JAcbgLbl To hCtl&
   ShowWindow hCtl&, %SW_HIDE
   Control Handle hDlg&, %JAextBtn To hCtl&
   ShowWindow hCtl&, %SW_HIDE
   Dialog End hJcaDlg&
   Call EnableTicketMenu
   Control Set Focus hDlg&, %WTmnuSbr
   Function=0
   Exit Function
   End Select

 Case %WM_SYSKEYDOWN   '%WM_KEYDOWN,
  
  Select Case wParam&

  Case %VK_DOWN, %VK_RIGHT
   Call SendMessage (hJcaDlg&, %WM_VSCROLL, %SB_LINEDOWN, 0)

  Case %VK_HOME
   Call SendMessage (hJcaDlg&, %WM_VSCROLL, %SB_TOP, 0)
   etc. etc.
------------------