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

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

16.05.2015, 19:57. Показов 3306. Ответов 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
3190 / 2227 / 640
Регистрация: 20.07.2013
Сообщений: 6,023
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
3190 / 2227 / 640
Регистрация: 20.07.2013
Сообщений: 6,023
16.05.2015, 22:30
Скорей всего нужно перехватывать вращение колеса при выделенном TrackBar-е.
Тут тебе наверняка volvo поможет (если захочет).
Или переопределить значение в настройках мыши.
Есть вариант купить мышь с двумя колесами (например, у меня старая проводная мышь при вращении одного колеса вверх "изменяет значение влево", а вращение другого "делает это вправо").
На беспроводной с одним колесом ситуация такая же, как у тебя, но не вижу в этом большой проблемы.

Твоя задача похожа на попытку заставить летать "запорожец", когда давно есть самолеты.
Нужно ли тебе это?
1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33405 / 21515 / 8236
Регистрация: 22.10.2011
Сообщений: 36,916
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru