expects for ON_COMMAND. (LRESULT Function(WPARAM,LPARAM). If you try to
give it a function with a different signature it will complain. Now if you
want to return a meaningful value or not is up to you. The function itself
PostMessage, or even directly called from within it's owner class.
AliR.
I am curious to know why it matters to return a result?
I've never really dealt with having to return an error in a Message.
I just keep forgetting to return a result.
I hark back to an older post where it really didn't matter whether the
poster returned true or false.
I have seen that a lot and wonder it is ever really implemented?
I guess that it is just how it is defined.
WM_COMMAND messages can't have a return type.
ON_MESSAGE has to have a return type.
This, to me is just a message map.
It maps the message to the function.
ON_COMMAND(IDC_MY_BTN, OnBtnMyBtn)
To me, the function is exlusive and not inclusive.
It really shouldn't matter if there is a return type or not.
It probably has something to do with the static_cast and that is just how
it maps to the function.
I can understand why SendMessage() would have a return type, but what
about PostMessage()
How can PostMessage() Fail?
It has been a while since I have had the errors the OP mentioned.
I believe it was when you defined your own messages, so LRESULT would be
true in his case.
I guess there was, or is a need to return a result from SendMessage().
Perhaps that is why MFC didn't define a return type?
They weren't sure if it was important or not?
"AliR (VC++ MVP)" <AliR@online.nospam> wrote in message
news:iMWLh.9521$Um6.5741@newssvr12.news.prodigy.net...
What about
afx_msg void OnBnClickedSomeButton();
or
afx_msg void OnSelChangeSomeListBox();
AliR.
"Michael K. O'Neill" <MikeAThon2000@nospam.hotmail.com> wrote in message
news:enQjAWyaHHA.3960@TK2MSFTNGP04.phx.gbl...
If you're using afx_msg, then you probably should be returning an
LRESULT,
not a void:
afx_msg LRESULT memberFxn( WPARAM, LPARAM );
Mike
"Tom Serface" <tom.nospam@camaswood.com> wrote in message
news:%23LZozzxaHHA.4552@TK2MSFTNGP05.phx.gbl...
my guess i that you've got something like:
afx_msg Myfunction()
when you really need:
afx_msg void Myfunction()
It used to fill in "int" when there was no type specifier, but it
doesn't
do
that any more. These days the compiler complains which makes a lot
more
sense.
Tom
"Robert Wong" <robertwong@hotmail.com> wrote in message
news:uea1pixaHHA.1296@TK2MSFTNGP02.phx.gbl...
Hi there,
Trying to convert a project to MFC C++ VS 2005, they changed the
compiler
which causes errors.
C4430 - Error Message missing type specifier - int assumed. Note:
C++
does not support default-int.
It complains about the "afx_msg".
C2668 - Error Message 'function' : ambiguous call to overloaded
function
they took out pow(int, int)
It looks like I have to recast it to pow (double,int).
Is there a way I can make a keyword for "afx_msg" like a #define?
Thanks,
Robert