Catch Alt+Key combinations

Post Reply
dmajkic
Posts: 14
Joined: Fri Mar 02, 2012 11:08 am

Catch Alt+Key combinations

Post 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.
User avatar
sambomb
Posts: 388
Joined: Mon Oct 13, 2008 11:26 am
Location: Itaocara - RJ - Brasil

Re: Catch Alt+Key combinations

Post by sambomb »

Use SetKey and inside de setkey function verify:

Code: Select all | Expand


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

 
Email: SamirSSabreu@gmail.com
xHarbour 1.2.3 + Fwhh 20.2
dmajkic
Posts: 14
Joined: Fri Mar 02, 2012 11:08 am

Re: Catch Alt+Key combinations

Post by dmajkic »

Code: Select all | Expand

...
   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.
User avatar
Rick Lipkin
Posts: 2668
Joined: Fri Oct 07, 2005 1:50 pm
Location: Columbia, South Carolina USA

Re: Catch Alt+Key combinations

Post 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
Post Reply