我想使用comctrl.dll轨道栏进行声级调整,其最低值位于底部,最高位于顶部,与正常情况相反,但我无法做到。 TBS_REVERSED 标志似乎对滑块没有任何影响,并且不支持在 TBM_SETRANGE 消息中反转最小值和最大值。单独使用 TBM_SETRANGEMIN & MAX要么...
HWND hwndTrack = CreateWindowEx(
NULL, // no extended styles
TRACKBAR_CLASS, // class name
L"Trackbar Control test", // title (caption)
WS_CHILD | WS_VISIBLE | TBS_AUTOTICKS | TBS_VERT | TBS_TOOLTIPS | TBS_DOWNISLEFT | TBS_REVERSED, // style
10, 44, // position
30, 200, // size
hwnd, // parent window
(HMENU)IDC_MAIN_TRACKBARTEST, // control identifier
GetModuleHandle(NULL), // instance
NULL // no WM_CREATE parameter
);
SendMessage(hwndTrack, TBM_SETRANGE,
(WPARAM)TRUE, // redraw flag
(LPARAM)MAKELONG(0, 127)); // min. & max. positions
答案 0 :(得分:2)
一种简单的方法是扭转结果。
类似的东西:
result_value = max_value - trackbar_value;
反过来设定价值。