【问题标题】:Using OnNcHItTest for a CWnd not CDialog将 OnNcHItTest 用于 CWnd 而不是 CDialog
【发布时间】:2010-03-23 13:31:15
【问题描述】:

我在对话框中使用了一个 CWnd Derived 对象。我需要能够将它拖到对话框中的任何位置。我有一个覆盖 OnNCHitTest 的代码,用于移动对话框,将其从标题栏以外的位置拖动。是否有任何等效代码可以执行相同的操作来移动此 CWnd。以下代码不起作用。

UINT CBaseSliderBtn::OnNcHitTest(CPoint point)
{
    UINT ret=CWnd::OnNcHitTest( point );
        if (ret == HTCLIENT)
            return HTCAPTION;

}

如果这不是正确的方式,请提出其他最佳的拖动滑块的方法。
谢谢

【问题讨论】:

    标签: mfc visual-c++


    【解决方案1】:

    您的示例只是模拟鼠标操作,因为它们与对话框标题一起发生。对话框标题允许您拖动对话框。 至于您的自定义窗口,它可能是一个子窗口,并且允许使用窗口部件进行拖动。你应该处理mouse input来实现拖拽。

    【讨论】:

    • 谢谢,但我知道我做错了什么。我在创建过程中使用了类名静态。我必须注册我自己的课程。无论如何谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-14
    相关资源
    最近更新 更多