2

今天我面临着在 WINAPI 中增加和减少我的 updown 控件的问题。

我在我的 updown 控件下方有一张图片。它有一个编辑控件

截屏

我想要这个控件是在按下箭头键时分别递增/递减 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));
4

1 回答 1

5

UDS_SETBUDDYINT在 Up-Down 控件上启用样式:

上下控制样式

UDS_SETBUDDYINT
使上下控件WM_SETTEXT在位置改变时设置好友窗口的文本(使用消息)。文本由格式为十进制或十六进制字符串的位置组成。

这在Up-Down Control Overviews文档中有所说明:

关于上下控制

Up-Down 控件样式
...
具有该样式的 up-down 控件会UDS_SETBUDDYINT在当前位置更改时设置其伙伴窗口的标题。UDS_NOTHOUSANDS除非指定样式,否则控件会在十进制字符串的每三位数字之间插入千位分隔符。如果伙伴窗口是一个列表框,则上下控件设置其当前选择而不是其标题。

您可以指定UDS_ARROWKEYS样式以为上下控件提供键盘界面。如果指定了此样式,则控件处理向上和向下箭头键。该控件还对伙伴窗口进行子类化,以便在伙伴窗口具有焦点时处理这些键。
...

于 2015-01-20T23:44:37.937 回答