CWnd::OnNcMouseMove 是 MFC(Microsoft Foundation Classes)中的一个受保护方法,用于处理非客户区的鼠标移动消息(WM_NCMOUSEMOVE)。在 MFC 中,CWnd 类提供了一系列用于处理窗口消息的成员函数,包括处理鼠标消息和消息处理等。

OnNcMouseMove 方法的主要作用是在鼠标在窗口的非客户区移动时进行处理。当用户在窗口的边框、标题栏等非客户区移动鼠标时,系统会发送 WM_NCMOUSEMOVE 消息,这时 OnNcMouseMove 方法会被调用。

开发者可以重写这个方法,并在其中添加自定义的鼠标移动处理代码。由于这是一个受保护的方法,只能在派生类内部调用,不能直接从外部调用。

以下是一个简单的例子,演示了如何在一个派生自 CWnd 的类中重写 OnNcMouseMove 方法:
class CMyWnd : public CWnd
{
public:
    virtual void OnNcMouseMove(UINT nHitTest, CPoint point)
    {
        // 在这里进行非客户区的鼠标移动处理

        // 调用基类的 OnNcMouseMove,以确保执行基类的处理
        CWnd::OnNcMouseMove(nHitTest, point);

        // 这里可以添加自己的处理代码
    }
};

在这个例子中,CMyWnd 是一个自定义的窗口类,通过重写 OnNcMouseMove 方法,可以在非客户区的鼠标移动时执行一些额外的处理。


转载请注明出处:http://www.zyzy.cn/article/detail/23652/MFC/CWnd