OnHScroll或OnVScroll执行两次
OnHScroll or OnVScroll executing twice
我有一个c++ MFC程序,我试图使用一对水平滑块。
我已经添加了ON_WM_HSCROLL()
到我的消息映射,我有这个函数来处理任何滑动条的变化:
void CAppDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
switch (pScrollBar->GetDlgCtrlID()) {
case IDCAM1_ZOOMSLIDE:
// do stuff
return;
case IDCAM2_ZOOMSLIDE:
// do stuff
return;
default:
return;
}
CDialog::OnHScroll(nSBCode, nPos, pScrollBar);
}
我试图在开关线上放置一个断点,并意识到每次我改变滑动条时,OnHScroll()都会执行2次。
为什么会这样,我如何改变这种行为?
谢谢
正如Steve Wellens建议的,
我不使用nSBCode
。
OnHScroll
第一次与nSBCode=SB_PAGELEFT
执行,第二次与nSBCode=SB_ENDSCROLL
执行。
一个简单的switch
或if
就足够了。
相关文章:
- g++的分段错误(在NaN上使用to_string两次时)
- 蛇在C++不会连续转两次
- 检查一个数组是否包含在另一个数组中,以相反的顺序,至少两次
- 从具有按值捕获的 lambda 移动构造 std::函数时,移动构造函数调用两次
- 我应该如何去缓解两次出现的cin?
- Realloc 两次无法在 Visual Studio 上运行
- 使用 getline(cin, var) 两次在进行字符串比较时会产生错误 (==)
- 为什么映射插入和 map.find() 的单次迭代比插入和 map.find() 的两次单独迭代慢得多
- C++析构函数调用两次,堆栈分配的复合对象
- 为什么参数在构造 std::thread 时移动两次
- Qt插槽调用了两次
- 做 std::用相同的unique_ptr移动两次
- C++两次定义相同的函数会导致错误
- 为什么具有静态存储持续时间的同一内联变量在包含在 VS2017 编译的两个翻译单元中时会构造和销毁两次
- 对于优化级别为 0 的 std::vector,析构函数被调用两次
- 使用柯南打包时如何避免列出两次依赖?
- 为什么要执行两次位移((x >> 4)<< 4)?
- 对结构向量进行两次排序
- 如果我使用同一个密钥推送用户数据两次,会发生什么
- OnHScroll或OnVScroll执行两次