64,661
社区成员
发帖
与我相关
我的任务
分享
void CWnd::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
// 消息是由CSliderCtrl 引发的
CSliderCtrl * pControl = dynamic_cast<CSliderCtrl *>(pScrollBar); // 结果是NULL
CSliderCtrl * pControl2 = dynamic_cast<CSliderCtrl *>((CWnd*)pScrollBar); // 结果是非NULL
// 为什么会这样? 指针的值没有任何变化啊
}
dynamic_cast是一种运行期转换机制,主要用于基类与派生类之间的类型转换,dynamic_cast是一种安全的类型转换机制,转换不成功的直接就NULL了