我试图通过
WM_VSCROLL
消息获取旋转控制值,但是发生了一些不寻常的事情,代码在单击旋转控件一次时实现了两次。
case WM_VSCROLL:
{
switch (GetDlgCtrlID((HWND)lParam)) {
case JOB_SPIN:
{
UINT spin_pos = SendDlgItemMessage(hDlg, JOB_SPIN, UDM_GETPOS32, 0, 0);
OutputDebugString(Mem->ToString(spin_pos).c_str()); // Mem->ToString, to convert a number to a string
}
}
return TRUE;
}
当尝试检查每条消息的
WParam
值时,我发现存在差异:
我的代码有什么问题或者缺少什么?
根据文档:
wParam=196612
启用了SB_THUMBPOSITION
标志。wParam=196616
启用了 SB_ENDSCROLL
标志。