Сегодня я столкнулся с проблемой увеличения и уменьшения моих обновлений в WINAPI.
У меня есть изображение ниже моего обновления управления. Это приятель с элементом управления редактирования
Я хотел бы, чтобы этот элемент управления увеличивался / уменьшался на 1 соответственно при нажатии клавиш со стрелками. Я попробовал стиль: UDS_ARROWKEYS, но он не работает, заставляя меня поверить, что есть другой метод решения этой проблемы.
Я написал фрагмент, чтобы воспроизвести изображение выше.
HWND edit1 = CreateWindowEx(WS_EX_CLIENTEDGE, L"EDIT", L"250", WS_VISIBLE | WS_CHILD | ES_CENTER | ES_NUMBER...
HWND upDown1 = CreateWindow(L"MSCTLS_UPDOWN32", L"", WS_VISIBLE | WS_CHILD | UDS_ALIGNRIGHT...
SendMessage(upDown1, UDM_SETBUDDY, reinterpret_cast<WPARAM>(edit1), static_cast<LPARAM>(NULL));
Включить UDS_SETBUDDYINT
стиль на элементе управления Up-Down:
UDS_SETBUDDYINT
Вызывает управление вверх-вниз, чтобы установить текст окна собеседника (используяWM_SETTEXT
сообщение), когда позиция меняется. Текст состоит из позиции, отформатированной в виде десятичной или шестнадцатеричной строки.
Это указано в Обзор управления Up-Down документация:
О средствах управления Up-Down
Стили управления вверх-вниз
…
Контроль вверх-вниз сUDS_SETBUDDYINT
style устанавливает заголовок своего окна собеседника при каждом изменении текущей позиции. Элемент управления вставляет разделитель тысяч между каждыми тремя цифрами десятичной строки, если толькоUDS_NOTHOUSANDS
стиль указан. Если окно собеседника является списком, элемент управления «вверх-вниз» устанавливает свой текущий выбор вместо заголовка.Вы можете указать
UDS_ARROWKEYS
стиль, чтобы обеспечить интерфейс клавиатуры для управления вверх-вниз. Если указан этот стиль, элемент управления обрабатывает клавиши со стрелками вверх и вниз. Элемент управления также подклассирует окно собеседника, чтобы он мог обрабатывать эти ключи, когда окно собеседника имеет фокус.
…