Re: How to disable shoutcut F10?
Do not try to catch the F10 key in OnKeyDown, or in PreTranslateMessage.
Do it the right way, it will only take 2 minutes to do.
Open your resource editor, open the accelerator table (IDR_MAINFRAME).
First make sure there is no item that is assigned F10, then go to the bottom
of the list and insert a new item, give it an ID (for example
ID_MYOPERATION, this can be the same as a menu item id, if you do that then
when the short cut key is pressed, then it will be like the user selected
the menu item), and select F10 as the key, make sure the Modifier is either
blank or says None.
Then go to your class where you want to handle the F10 key, and handle the
ID of the accelerator just like you would a menu item.
BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
ON_COMMAND(ID_MYF10, OnMyf10)
END_MESSAGE_MAP()
void CMainFrame::OnMyf10()
{
MessageBeep(1);
}
Now F10 no longer does its default thing, and does whatever you want to do
AliR.
"fiveight" <fiveight@tom.com> wrote in message
news:2FD39D88-259E-4F3D-9E7C-8AE7308A846B@microsoft.com...
Hi All:
In explorer, if I press F10, the focus will be set on menu bar. But in
vs2008, F10 is the shortcut of "next" command. In my own MFC program, I
use F10 as a shortcut of a command too. When press F10, the command will
run first, and then the focus will be set on menu bar. How can I use F10
to run the command and not change the focus? I try to catch
WM_KEYUP+VK_F10 message in PreTranslateMsg function of CWinApp, But it
does not work.
Thanks!
Fiveight