В общем вопрос, как создать такой контрол, я разобрался. Это просто. Код (ASM): aTrackbar db "msctls_trackbar32", 0 ... mov esi, CreateWindowEx(0, &aTrackbar, NULL, MS_BASE_TRACKBAR, TrigoPosX, 135, 75, 30, hWnd, TRACKBAR_TRIGO_ID, hInstance, 0) SendMessage(esi, TBM_SETRANGE, TRUE, MAKELONG(0, 2)) ;// min. & max. positions SendMessage(esi, TBM_SETPOS, TRUE, 0) mov hTrackbarTrigo, esi А вот как цвет фона этого контрола поменять, не понятно. Надо разбираться, и это достаточно сложно, нанести рисунок на этот контрол не возможно, не предусмотрено. --- Сообщение объединено, 5 мар 2025 в 13:46 --- Пока так заработало. Создаём кисть для этого контрола. Код (ASM): mov hbrBackgrndTrigo, CreateSolidBrush(ColorCaption[6*4]) Понятно что в таблице ColorCaption указываем цвет под номером 6. Потом возвращаем эту кисть в функции WndProc по событию WM_CTLCOLORSTATIC Код (ASM): .elseif (uMsg == WM_CTLCOLORSTATIC) mov eax, hbrBackgrndTrigo ... Всё просто, но желательно движок заменить на прямоугольник, а не на лодочку. Но пока так. --- Сообщение объединено, 5 мар 2025 в 14:11 --- Ещё небольшая оптимизация, т.к. фон этого контрола равен фону главного окна, то делаем так в функции WinMain. Код (ASM): mov [esi].hbrBackground, CreateSolidBrush(ColorCaption[6*4]) mov hbrBackground, eax Я тут переименовал кисть на hbrBackground, чтобы подчеркнуть что это кисть главного окна. Так что осталось лишь сделать сам ползунок прямоугольным. И ещё, флаги Trackbar'а. Код (ASM): MS_BASE_TRACKBAR = WS_CHILD or WS_VISIBLE or TBS_HORZ or TBS_NOTICKS Горизонтальный, риски отключены.
Стандартные контролы винды это довольно проработанная, сложная и де-факто объектно-ориентированная библиотека. Там есть такие штуки как "наследование" от контролов https://learn.microsoft.com/en-us/windows/win32/controls/subclassing-overview чтобы в самых широких предела менять и обогащать их поведение (фактически - создавать новые контролы на базе старых) или просто custom draw - https://learn.microsoft.com/en-us/windows/win32/controls/custom-draw своя отрисовка без "наследования" от компонент. Но надо погружаться и изучать. Конечно там можно много больше, чем подменить цвет кисти по умолчанию.