Those places don't pass HWND and pass a locally allocated msg. I don't think
these calls can ever fail.
"Joseph M. Newcomer" <newcomer@flounder.com> wrote in message
Note that there is no instance in MFC where this is actually practiced:
here are all the
GetMessage calls I found in the MFC source:
dockcont.cpp(407)
if (!GetMessage(&msg, NULL, WM_PAINT, WM_PAINT))
dockcont.cpp(587)
if (!::GetMessage(&msg, NULL, 0, 0))
thrdcore.cpp(158)
if (!::GetMessage(&(pState->m_msgCur), NULL, NULL, NULL))
trckrect.cpp(611)
VERIFY(::GetMessage(&msg, NULL, 0, 0));
winfrmx.cpp(335)
GetMessage(&msg, NULL, WM_NCLBUTTONDOWN, WM_NCLBUTTONDOWN);
[no test at all!]
winfrmx.cpp(374)
GetMessage(&msg, NULL, msg.message, msg.message);
[ditto]
joe
On Sat, 23 Jun 2007 07:46:04 -0700, "Alexander Grigoriev"
<alegr@earthlink.net> wrote:
GetMessage is supposed to validate its parameters. If because of a
programming error the window handle become invalid, it's supposed to
return
an error, just like any not-too-badly designed function.
"Joseph M. Newcomer" <newcomer@flounder.com> wrote in message
news:jh2p73dtcu2l5l1lje3at8bn14b0fle73o@4ax.com...
Why would I want to do that? The right solution is to pass NULL for the
window, meaning
"all windows".
joe
On Fri, 22 Jun 2007 19:13:21 -0700, "Alexander Grigoriev"
<alegr@earthlink.net> wrote:
Pass a bogus HWND to it.
"Joseph M. Newcomer" <newcomer@flounder.com> wrote in message
news:pt1m73hcou2jnmfn5sd4qeeb3jqbjpniml@4ax.com...
GetMessage is defined as BOOL type. Note that the only reason it can
fail
with -1 is
catastrophic error. Microsoft seems to be incapable of defining
return
types sensibly; if
-1 is permitted, then it is not a BOOL, because BOOL has only two
meaningful values: FALSE
and NOT-FALSE.
I've never seen GetMessage return a failure code, ever.
joe
Joseph M. Newcomer [MVP]
email: newcomer@flounder.com
Web: http://www.flounder.com
MVP Tips: http://www.flounder.com/mvp_tips.htm
Joseph M. Newcomer [MVP]
email: newcomer@flounder.com
Web: http://www.flounder.com
MVP Tips: http://www.flounder.com/mvp_tips.htm