Получение обновленного значения Spin Control - PullRequest
1 голос
/ 22 мая 2019

Я использую кнопку вращения и хочу прочитать ее положение.Я переписал 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?

1 Ответ

2 голосов
/ 22 мая 2019

Похоже, что UDN_DELTAPOS используется для переопределения суммы изменения позиции или предотвращения изменения, но фактическое изменение происходит с сообщением WM_VSCROLL (или WM_HSCROLL). Я подозреваю, что это могут быть сообщения, которые вам нужно обработать, чтобы получить результаты ....

(я основываюсь на этом документе.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...