メッセージ処理するには?


ぼんぼん  2006-07-09 17:32:19  No: 62488  IP: [192.*.*.*]

MFCでwinsock使って非同期通信のプログラムを作っています。

//Packet.h

#include <stdio.h>
#include <winsock2.h>

#define SM_EVENT WM_USER + 100
#define SM_GETHOST WM_USER + 101

class CPacket
{
protected:
        afx_msg BOOL WndProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam);
public:
  CPacket(void);
  ~CPacket(void);
              ・・・
}


//Packet.cpp

BOOL CPacket::WndProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
{
  switch(msg)
  {
     case SM_GETHOST:
    ・・・

           case SM_EVENT:
                ・・・
  }

  return 0;
}

メッセージが送られたら上記のような記述だけでは処理はできません。
特定のメッセージが送られてきたときに、WndProcを実行するようにどこかに登録する必要があるのでしょうか?
いままでDelphiを使っていたので、VC++、MFCはあまり詳しくないのですがご教授お願いします。
WindowsXP Visual Stadio Professional 2003

編集    削除
Blue  2006-07-09 21:40:44  No: 62489  IP: [192.*.*.*]

参考にどうぞ
「ユーザー定義メッセージ(WM_USER)のメッセージマップ処理」
http://www.dinop.com/vc/usermessage.html

編集    削除
通りすがり  2006-07-11 05:01:33  No: 62490  IP: [192.*.*.*]

パケットに対してイベントが発生したときに、メッセージを送信したいということでしょうか?
それなら、WSAAsyncSelect という関数があります。

編集    削除