From: Steve Achelis on
I think my computer is possessed. My app (in VS2008 using the MFC
Enhancement Pack) defined an accelerator for the '-' key which posted
the message ID_VIEW_ZOOMOUT (which is defined as 33455). I wanted to
remove this accelerator. So I deleted the following line in the
"IDR_MAINFRAME ACCELERATORS" section of my rc file:

"-", ID_VIEW_ZOOMOUT, ASCII, NOINVERT

Easy enough, but pressing '-' still calls my OnZoomOut function! Hum,
so I search my code for all occurrences of ID_VIEW_ZOOMOUT to make
sure I'm not posting it elsewhere. I'm not. So I deleted the
Intermediate file and did a Clean and Rebuild. It's still posting the
message. Using spy, I can see that when WM_CHAR is 45 (the '-'
character), spy reports that the ID_VIEW_ZOOMOUT command is "sent from
an accelerator.” Here is the output from Spy:

<00036> 00130900 S WM_COMMAND wNotifyCode: 1 (sent from an
accelerator) wID:33455

I can’t imagine where this accelerator is defined. I tried removing
all but one line from the ACCELERATORS section of the rc file (if I
remove all accelerator keys, it goes away, I think this is because
there is no longer an accelerator handler). I currently just have this
one dummy line in the ACCELERATOR section:

"B", 100, VIRTKEY, CONTROL, NOINVERT

I’ve searched the project to make sure there isn’t another ACCELERATOR
section. I’ve searched to make there isn’t another command with the
same value (33455). I’ve changed the value of ID_VIEW_ZOOMOUT (to
33456) to see if that’d make a difference (it still gets posted).
FWIW, if I do a “return” at the beginning of my
CMainFrame::PreTranslateMessage the command doesn’t get processed
(because I’m not processing the keystroke). Oh, I've checked my
PreTranslateMessage to make sure it isn't handling the message
(although Spy wouldn't be telling me it was "sent from an accelerator"
in that case).

I’m truly stumped. Any ideas?

Thanks!

[FWIW, I posted this message four hours ago and I received an email
confirming it, but the message never appeared on
microsoft.public.vc.mfc. Apologies if this later turns into a
duplicate post!]

From: David Ching on
"Steve Achelis" <info(a)RescueRigger.com> wrote in message
news:7da2d348-e6dd-4fc7-bfb3-886e02e14d26(a)m25g2000prj.googlegroups.com...
> I think my computer is possessed. My app (in VS2008 using the MFC
> Enhancement Pack) defined an accelerator for the '-' key which posted
> the message ID_VIEW_ZOOMOUT (which is defined as 33455). I wanted to
> remove this accelerator. So I deleted the following line in the
> "IDR_MAINFRAME ACCELERATORS" section of my rc file:
>
> "-", ID_VIEW_ZOOMOUT, ASCII, NOINVERT
>
> Easy enough, but pressing '-' still calls my OnZoomOut function!

Are you sure you don't have another accelerator table in res\<your app>.rc2?
I would search for ID_VIEW_ZOOMOUT in all files in the folder.

-- David

From: Tom Serface on
Not sure what is going on, but couldn't you comment out your handler code so
that it would effectively ignore the message?

Also, is the message still in the resource.h file? Could be this is a
standard Windows behavior and you're just still handling it even if it's not
in your specific accelerator.

Tom

"Steve Achelis" <info(a)RescueRigger.com> wrote in message
news:7da2d348-e6dd-4fc7-bfb3-886e02e14d26(a)m25g2000prj.googlegroups.com...
> I think my computer is possessed. My app (in VS2008 using the MFC
> Enhancement Pack) defined an accelerator for the '-' key which posted
> the message ID_VIEW_ZOOMOUT (which is defined as 33455). I wanted to
> remove this accelerator. So I deleted the following line in the
> "IDR_MAINFRAME ACCELERATORS" section of my rc file:
>
> "-", ID_VIEW_ZOOMOUT, ASCII, NOINVERT
>
> Easy enough, but pressing '-' still calls my OnZoomOut function! Hum,
> so I search my code for all occurrences of ID_VIEW_ZOOMOUT to make
> sure I'm not posting it elsewhere. I'm not. So I deleted the
> Intermediate file and did a Clean and Rebuild. It's still posting the
> message. Using spy, I can see that when WM_CHAR is 45 (the '-'
> character), spy reports that the ID_VIEW_ZOOMOUT command is "sent from
> an accelerator.� Here is the output from Spy:
>
> <00036> 00130900 S WM_COMMAND wNotifyCode: 1 (sent from an
> accelerator) wID:33455
>
> I can�t imagine where this accelerator is defined. I tried removing
> all but one line from the ACCELERATORS section of the rc file (if I
> remove all accelerator keys, it goes away, I think this is because
> there is no longer an accelerator handler). I currently just have this
> one dummy line in the ACCELERATOR section:
>
> "B", 100, VIRTKEY, CONTROL, NOINVERT
>
> I�ve searched the project to make sure there isn�t another ACCELERATOR
> section. I�ve searched to make there isn�t another command with the
> same value (33455). I�ve changed the value of ID_VIEW_ZOOMOUT (to
> 33456) to see if that�d make a difference (it still gets posted).
> FWIW, if I do a �return� at the beginning of my
> CMainFrame::PreTranslateMessage the command doesn�t get processed
> (because I�m not processing the keystroke). Oh, I've checked my
> PreTranslateMessage to make sure it isn't handling the message
> (although Spy wouldn't be telling me it was "sent from an accelerator"
> in that case).
>
> I�m truly stumped. Any ideas?
>
> Thanks!
>
> [FWIW, I posted this message four hours ago and I received an email
> confirming it, but the message never appeared on
> microsoft.public.vc.mfc. Apologies if this later turns into a
> duplicate post!]
>
From: Steve Achelis on
On Apr 26, 5:37 pm, "David Ching" <d...(a)remove-this.dcsoft.com> wrote:

> Are you sure you don't have another accelerator table in res\<your app>.rc2?
> I would search for ID_VIEW_ZOOMOUT in all files in the folder.
>
> -- David

I've searched for ID_VIEW_ZOOMOUT, searched for the literal 33455 (in
case it was defined and associated with the '-' key), checked rc2, and
searched for ACCELERATORS (case sensitive, which is how it appears in
the rc file). And if I remove that last, lone, dummy accelerator (see
original post), the problem goes away. If I keep the dummy entry and
view the accelerators from the resource editor (rather than from the
text editor), only the one dummy entry is there.

Still stumped.
From: David Ching on
"Steve Achelis" <info(a)RescueRigger.com> wrote in message
news:e3eb7e50-0781-4a7c-a752-f64cfb69c595(a)g1g2000pre.googlegroups.com...
> On Apr 26, 5:37 pm, "David Ching" <d...(a)remove-this.dcsoft.com> wrote:
>
>> Are you sure you don't have another accelerator table in res\<your
>> app>.rc2?
>> I would search for ID_VIEW_ZOOMOUT in all files in the folder.
>>
>> -- David
>
> I've searched for ID_VIEW_ZOOMOUT, searched for the literal 33455 (in
> case it was defined and associated with the '-' key), checked rc2, and
> searched for ACCELERATORS (case sensitive, which is how it appears in
> the rc file). And if I remove that last, lone, dummy accelerator (see
> original post), the problem goes away. If I keep the dummy entry and
> view the accelerators from the resource editor (rather than from the
> text editor), only the one dummy entry is there.
>
> Still stumped.

Could you open your .exe in Visual Studio (open the .exe 'Resources') and
see what accelerators are actually compiled into the .exe. If worst comes
to worst you can delete any ones that shouldn't be there and re-save the
..exe. This is really weird.

-- David

 |  Next  |  Last
Pages: 1 2
Prev: Failed to create empty document.
Next: Task