私はソフトウェアの経験が豊富ですが、Windowsプログラミングはあまり行っていません。スレッドからWM_USERメッセージを投稿して、メインUIスレッドで取得されるようにしようとしていますが、問題が発生しています。これは、VS2010とMFCを使用するC++です。
このようにしてメッセージマップを作成しました。
#define WM_MYMSG (WM_USER + 77)
BEGIN_MESSAGE_MAP(CMyApp, CWinApp)
ON_MESSAGE(WM_MYMSG, DoSomething)
END_MESSAGE_MAP()
ハンドラー関数を次のように宣言しました。
afx_msg LRESULT DoSomething(WPARAM wParam, LPARAM lParam);
そして、関数本体を次のように記述します。
LRESULT CMyApp::DoSomething( WPARAM wParam, LPARAM lParam )
{
UNREFERENCED_PARAMETER(wParam);
UNREFERENCED_PARAMETER(lParam);
CallSomeFunction();
return 0L;
}
私が見る限り、これはすべて、MSDNがここで述べているように言っていることと一致しています。
http://msdn.microsoft.com/en-gb/library/k35k2bfs(v=vs.100).aspx
しかし、私は
error C2440: 'static_cast' : cannot convert from 'LRESULT (__cdecl CMyApp::*)(WPARAM,LPARAM)' to 'LRESULT (__cdecl CWnd::* )(WPARAM,LPARAM)'
ラインに関連する
ON_MESSAGE(WM_AVATAR_SCALE_MSG, DoSomething)
誰かが私に問題が何であるかを教えてもらえますか?
読んでくれてありがとう。
ポール