MFC怎么实现Static text控件上的MouseMove事件~代码哪里写错了

MFC如何实现Static text控件上的MouseMove事件~代码哪里写错了?
我想给static text控件添加一个MouseMove事件~~~在网上资料~研究了2天了~~毫无头绪啊~~~

为什么查找了半天也没有这方面给新手的教程~~~挺萌的~~~

我现在通过用别人的代码已经不出错了~但是没效果~所以来提问了~~

下面是代码:
首先是定义一个继承CStatic类的类CMyStatic:
.h

#pragma once
#define WM_STATICMOUSE WM_USER+5
// CMyStatic

class CMyStatic : public CStatic
{
DECLARE_DYNAMIC(CMyStatic)

public:
CMyStatic();
virtual ~CMyStatic();

protected:
DECLARE_MESSAGE_MAP()
public:
afx_msg void OnMouseMove(UINT nFlags, CPoint point);
};

然后是cpp的:
// MyStatic.cpp : 实现文件
#include "stdafx.h"
#include "MFC3.h"
#include "MyStatic.h"
// CMyStatic
IMPLEMENT_DYNAMIC(CMyStatic, CStatic)
CMyStatic::CMyStatic()
{
}
CMyStatic::~CMyStatic()
{
}
BEGIN_MESSAGE_MAP(CMyStatic, CStatic)
ON_WM_MOUSEMOVE()
END_MESSAGE_MAP()
// CMyStatic 消息处理程序
void CMyStatic::OnMouseMove(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
if(this->GetParent()   !=NULL)
GetParent()->SendMessage(WM_STATICMOUSE);
CStatic::OnMouseMove(nFlags, point);
}

// MFC3Dlg.h : 头文件
//
#include "MyStatic.h"
#pragma once


// CMFC3Dlg 对话框
class CMFC3Dlg : public CDialogEx
{
// 构造
public:
CMFC3Dlg(CWnd* pParent = NULL); // 标准构造函数
CMyStatic m_mystatic;
afx_msg LRESULT OnStaticMouseMove(WPARAM wParam, LPARAM lParam);  
// 对话框数据
enum { IDD = IDD_MFC3_DIALOG };

protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持


// 实现
protected:
HICON m_hIcon;

// 生成的消息映射函数
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
DECLARE_MESSAGE_MAP()
};


// MFC3Dlg.cpp : 实现文件
#include "stdafx.h"
#include "MFC3.h"
#include "MFC3Dlg.h"
#include "afxdialogex.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#endif
// 用于应用程序“关于”菜单项的 CAboutDlg 对话框

class CAboutDlg : public CDialogEx
{
public:
CAboutDlg();

// 对话框数据
enum { IDD = IDD_ABOUTBOX };

protected:
virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 支持
// 实现
protected:
DECLARE_MESSAGE_MAP()
};
CAboutDlg::CAboutDlg() : CDialogEx(CAboutDlg::IDD)
{
}
void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
}
BEGIN_MESSAGE_MAP(CAboutDlg, CDialogEx)
END_MESSAGE_MAP()
// CMFC3Dlg 对话框
CMFC3Dlg::CMFC3Dlg(CWnd* pParent /*=NULL*/)
: CDialogEx(CMFC3Dlg::IDD, pParent)
{
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CMFC3Dlg::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
}

BEGIN_MESSAGE_MAP(CMFC3Dlg, CDialogEx)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_MESSAGE(WM_STATICMOUSE, OnStaticMouseMove)
END_MESSAGE_MAP()


// CMFC3Dlg 消息处理程序
BOOL CMFC3Dlg::OnInitDialog()
{
CDialogEx::OnInitDialog();
// 将“关于...”菜单项添加到系统菜单中。
// IDM_ABOUTBOX 必须在系统命令范围内。
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);
CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
BOOL bNameValid;
CString strAboutMenu;
bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX);
ASSERT(bNameValid);
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}

// 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动
//  执行此操作
SetIcon(m_hIcon, TRUE); // 设置大图标
SetIcon(m_hIcon, FALSE); // 设置小图标

// TODO: 在此添加额外的初始化代码
        //这个是我添加的~但是不知道什么意思?我理解是将OnMouseMove这个事件添加到IDC_S3上?
        //是不是这个意思?求指导
m_mystatic.SubclassDlgItem(IDC_S3,this);  //IDC_S3是static text的id
return TRUE;  // 除非将焦点设置到控件,否则返回 TRUE
}
void CMFC3Dlg::OnSysCommand(UINT nID, LPARAM lParam)
{
if ((nID & 0xFFF0) == IDM_ABOUTBOX)
{
CAboutDlg dlgAbout;
dlgAbout.DoModal();
}
else
{
CDialogEx::OnSysCommand(nID, lParam);
}
}

// 如果向对话框添加最小化按钮,则需要下面的代码
//  来绘制该图标。对于使用文档/视图模型的 MFC 应用程序,
//  这将由框架自动完成。

void CMFC3Dlg::OnPaint()
{
if (IsIconic())
{