Page 1 of 1

Catch Alt+Key combinations

Posted: Thu Aug 30, 2012 10:05 pm
by dmajkic
I have a Window with ButtonBar and XBrowse. No menu.

How can I perform some operations on Alt+<Key> shortcuts?
I need to do both Alt+<letter> and Alt+<F_key>

Thank you.

Re: Catch Alt+Key combinations

Posted: Fri Aug 31, 2012 11:08 am
by sambomb
Use SetKey and inside de setkey function verify:

Code: Select all

SetKey( VK_F2, {||Shortcut()} )

Procedure Shortcut()

   If GetKeyState(VK_SHIFT) // Shift
      ? "Shift+F2"
   end
   If GetKeyState(VK_CONTROL) // CTRL
      ? "Ctrl+F2"
   end
   If GetKeyState(VK_MENU) // Alt
      ? "Alt+F2"
   end

return

 

Re: Catch Alt+Key combinations

Posted: Fri Aug 31, 2012 7:57 pm
by dmajkic

Code: Select all

 ...
   If GetKeyState(VK_MENU) // Alt
      ? "Alt+F2"
   end
..
 
Doesn't work. It works fine for Ctrl+F2 and Shift+F2, but not for Alt.

Also I have some Alt+<Letter> shortcuts that should work on given window.

Re: Catch Alt+Key combinations

Posted: Sat Sep 01, 2012 1:25 pm
by Rick Lipkin
It does not appear that you can trap the <alt> key .. oDlg:bKeyDown seems to ignore returning a value for <alt> :( .. <ALT> key combinations are routed to Windows controls like <alt+f4> for a windows 'close'

I recommend changing your key routines to <shift>+key

Rick Lipkin