我正在使用旋转按钮,想读取它的位置。
我已覆盖OnDeltaposSpin(...)
,但随后我必须评估NMHDR
。如果我设置*pResult=0
,它将为我进行计算,但是我的值落后了。
void CClass::OnDeltaposSpin(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
*pResult = 0;
UpdateData(TRUE);
// I want to use the data here
}
因此,如果Spin最初为0,则第一次单击不会对我的数据产生任何影响,第二次单击会将其设置为1,依此类推。
在UDN_DELTAPOS
之后是否有其他消息可以处理,这些消息在其他控件上的作用类似于EN_CHANGE
?还是我可以告诉旋转控件在*pResult
中使用OnDeltaposSpin
进行计算?
答案 0 :(得分:2)
看起来UDN_DELTAPOS用于覆盖位置更改量或防止更改,但是实际更改发生在WM_VSCROLL(或WM_HSCROLL)消息中。我怀疑这些可能是您需要处理以获取结果的消息。...
(我基于this文档。)