如何使MFC对话框上的控件可以拖动
2016-01-01
展开全部
方法是:
1) 从标准控件类派生新的类.
2) 处理控件的鼠标消息来实现拖动效果.
这样做当然可以实现,但似乎不太符合常规, 且需要对需要可拖动的所有控件进行子类化以便能响
应控件的鼠标消息. 在这里, 我写了一个类,专门用来处理对控件的拖动, 使用该类只需要少许修
改包含需要拖动的控件的对话框,而不需要对控件再做任何其它处理.
原理是这样的: 通过预处理发往对话框及其上控件的鼠标消息, 如果发现单击落在某个需要拖动的
控件上, 则启动拖动过程, 跟踪鼠标的运动, 并同时对控件做相应的位置调整.
当鼠标松开后,整个拖动过程结束.
1) 从标准控件类派生新的类.
2) 处理控件的鼠标消息来实现拖动效果.
这样做当然可以实现,但似乎不太符合常规, 且需要对需要可拖动的所有控件进行子类化以便能响
应控件的鼠标消息. 在这里, 我写了一个类,专门用来处理对控件的拖动, 使用该类只需要少许修
改包含需要拖动的控件的对话框,而不需要对控件再做任何其它处理.
原理是这样的: 通过预处理发往对话框及其上控件的鼠标消息, 如果发现单击落在某个需要拖动的
控件上, 则启动拖动过程, 跟踪鼠标的运动, 并同时对控件做相应的位置调整.
当鼠标松开后,整个拖动过程结束.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询