ユーザー定義メッセージ(WM_USER)のメッセージマップ処理

解説


   ユーザー定義メッセージWM_USER_DOWNLOAD_COMPLETEDを捕まえる方法。

   ユーザー定義メッセージはWM_USER以降の値を用いる。ここでは WM_USER+1 を用いた。

   ※ メッセージマップを使いたくなければPreTranslateMessage()などでトラップ可能


#define WM_USER_DOWNLOAD_COMPLETED	(WM_USER + 1)		//ユーザー定義メッセージ	//これを追加

class CxxxDlg : public CDialog
{
	...省略

	// 生成されたメッセージ マップ関数
	//{{AFX_MSG(CxxxDlg)
	virtual BOOL OnInitDialog();
	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	//}}AFX_MSG
	afx_msg LRESULT OnDownLoadCompleted(WPARAM wParam, LPARAM lParam);	//これを追加
	DECLARE_MESSAGE_MAP()
};


BEGIN_MESSAGE_MAP(CxxxDlg, CDialog)
	//{{AFX_MSG_MAP(CxxxDlg)
	ON_WM_SYSCOMMAND()
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	//}}AFX_MSG_MAP
	ON_MESSAGE(WM_USER_DOWNLOAD_COMPLETED,OnDownLoadCompleted)		//これを追加
END_MESSAGE_MAP()



//
//	メッセージが来たら処理される関数
//

LRESULT CxxxDlg::OnDownLoadCompleted(WPARAM wParam, LPARAM lParam)		//この関数を追加
{
	...メッセージ処理...

	return	TRUE;
}


カテゴリー「VC++ TIPS」 のエントリー