2010-03-23 40 views
0

我有一个在对话框中使用的CWnd派生对象。我需要能够在对话框的任何地方拖动它。我有一个覆盖OnNCHitTest的代码,用于移动一个对话框,将其从标题栏以外的地方拖出。是否有任何等效的代码来移动此CWnd。以下代码不起作用。使用OnNcHItTest而不是CDialog

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

} 

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

回答

0

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

+0

谢谢,但我想我做错了什么。我在创建过程中使用了classname static。我必须注册我自己的班级。不管怎么说,多谢拉 – 2010-03-24 11:10:39