С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 15.02.2015
Сообщений: 15

Прокрутка TrackBar колесом мыши

16.05.2015, 19:57. Показов 3247. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите разобраться с Trackbar. Создал я значит свой ползунок, сделал горизонтальное расположение и сразу столкнулся с проблемой. Скролирование колесиком мышки идет не в ту сторону в которую хочется ( двигая колесо вверх ползунок движется влево, а хочется чтобы двигался вправо) и значения которые принимает шкала тоже идут справа на лево ( справа 0, слева нужное значение).
Есть у меня окно Edit1, и сам трекбар Trackbar1 как сделать так, чтобы перемещение ползунка отображалось в окне Edit1 и наоборот, если я решу вписать значение в Edit1, по нажатию Enter, чтобы и ползунок переместился на введеное значение? Заранее спасибо.

Добавлено через 5 минут
x = TrackBar1->Max - TrackBar1->Position;
Edit1->Text = x;
с вводом значение в окно я разобрался, вопрос ввода значения из окна на трекбар еще актуален
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.05.2015, 19:57
Ответы с готовыми решениями:

Прокрутка TrackBar колесом мыши
Доброго дня. Столкнулся с проблемой прокрутки. При клике на свою панель делаю TrackBar1->SetFocus(); и все работает как надо, но если...

Прокрутка ScrollBox колесом мыши
Всем доброго времени суток. На форме имеется PageControl на каждой странице которого расположено по ScrollBox-у, на них StringGrid-ы....

Запрет на прокрутку ComboBox колесом мыши
Доброго времени суток. Возникла проблемка, суть следующая: У меня на форме есть ComboBox. При создании формы курсор оказывается в нем....

4
place status here
 Аватар для gunslinger
3186 / 2220 / 640
Регистрация: 20.07.2013
Сообщений: 6,010
16.05.2015, 20:29
Не знаю, что у тебя с TrackBar-ом, но значения отображаются слева направо.
Насчет кода:
C++
1
2
3
4
5
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, System::WideChar &Key)
{
  if (Key == VK_RETURN)
    TrackBar1->Position = StrToIntDef(Edit1->Text, TrackBar1->Position);
}
1
0 / 0 / 0
Регистрация: 15.02.2015
Сообщений: 15
16.05.2015, 21:29  [ТС]
спасибо, сейчас постараюсь переформултровать проблему с прокруткой

Добавлено через 13 минут
Вы правы, я сделал корявый алгоритм отображения в окно =/
Но нельзя ли как-то поменять управление ползунком с помощью колесика мышки на обратное? Сейчас кручу колесо мышки от себя, а ползунок движется влево как можно поменять?

Добавлено через 14 минут
значение из окна записывается в переменную типа float x;
можно ли используя значение этой переменной двигать ползунок?
нужно что-то вроде
TrackBar1->Position = ceil (x.1000); ( задумка такая :если вводим например 7777, то ползунок сдвинется на позицию 8)
но при таком подходе ругается
[C++ Error] Cpp.cpp(1314): E2121 Function call missing )
наверное ему не нравиися использование ceil, хотя я подключил #include <math.h>
что делать?

Добавлено через 6 минут
пардон, затупил там не точка а деление ceil (x/1000); . Актуальным остается вопрос с прокрутккой колесиком мышки.
0
place status here
 Аватар для gunslinger
3186 / 2220 / 640
Регистрация: 20.07.2013
Сообщений: 6,010
16.05.2015, 22:30
Скорей всего нужно перехватывать вращение колеса при выделенном TrackBar-е.
Тут тебе наверняка volvo поможет (если захочет).
Или переопределить значение в настройках мыши.
Есть вариант купить мышь с двумя колесами (например, у меня старая проводная мышь при вращении одного колеса вверх "изменяет значение влево", а вращение другого "делает это вправо").
На беспроводной с одним колесом ситуация такая же, как у тебя, но не вижу в этом большой проблемы.

Твоя задача похожа на попытку заставить летать "запорожец", когда давно есть самолеты.
Нужно ли тебе это?
1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33197 / 21493 / 8233
Регистрация: 22.10.2011
Сообщений: 36,886
Записей в блоге: 12
16.05.2015, 23:22
Лучший ответ Сообщение было отмечено BRcr как решение

Решение

Цитата Сообщение от xzickx Посмотреть сообщение
Сейчас кручу колесо мышки от себя, а ползунок движется влево как можно поменять?
Магия:
C++
1
2
3
4
5
void __fastcall TForm1::FormCreate(TObject *Sender)
{
    ::SetWindowLongPtr(TrackBar1->Handle, GWL_STYLE,
        ::GetWindowLongPtr(TrackBar1->Handle, GWL_STYLE) | TBS_DOWNISLEFT);
}
, и при прокручивании от себя ползунок уже движется вправо...
3
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.05.2015, 23:22
Помогаю со студенческими работами здесь

Видеоплеер: покадровая прокрутка через Trackbar
Как сделать прокрутку видео по кадрам через ТрєкБар. Тоесть как связать медиаплеер с трэкбаром.

Прокрутка DBGrid-а колесиком мыши
Добрый вечер!!! Столкнулся с такой проблемой, на форме имеется DBGrid в нем отображается только 4 строки из таблицы БД, а ней 136 строк...

Прокрутка ScrollView колесом мыши
Здравствуйте. Возник такой вопрос: при прокрутке колесиком ScrollViewer прокручивается по вертикали. Как сделать, чтобы при нажатии...

Прокрутка скролла колесом мыши
Добрый вечер. У меня возникла следующая проблема... Сделал прокрутку скролла колесом мыши, а она работает, только если зажать CTRL ...

Прокрутка колесом мыши изображения в PictureBox
объясню наглядно ? вот что нужно в picturebox


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru