Увеличение и уменьшение значений в элементе управления UpDown в C ++ WINAPI

Сегодня я столкнулся с проблемой увеличения и уменьшения моих обновлений в 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));

1

Решение

Включить UDS_SETBUDDYINT стиль на элементе управления Up-Down:

Стили управления вверх-вниз

UDS_SETBUDDYINT
Вызывает управление вверх-вниз, чтобы установить текст окна собеседника (используя WM_SETTEXT сообщение), когда позиция меняется. Текст состоит из позиции, отформатированной в виде десятичной или шестнадцатеричной строки.

Это указано в Обзор управления Up-Down документация:

О средствах управления Up-Down

Стили управления вверх-вниз

Контроль вверх-вниз с UDS_SETBUDDYINT style устанавливает заголовок своего окна собеседника при каждом изменении текущей позиции. Элемент управления вставляет разделитель тысяч между каждыми тремя цифрами десятичной строки, если только UDS_NOTHOUSANDS стиль указан. Если окно собеседника является списком, элемент управления «вверх-вниз» устанавливает свой текущий выбор вместо заголовка.

Вы можете указать UDS_ARROWKEYS стиль, чтобы обеспечить интерфейс клавиатуры для управления вверх-вниз. Если указан этот стиль, элемент управления обрабатывает клавиши со стрелками вверх и вниз. Элемент управления также подклассирует окно собеседника, чтобы он мог обрабатывать эти ключи, когда окно собеседника имеет фокус.

4

Другие решения


По вопросам рекламы [email protected]