Скажите пожалуйста как в делфи сделать программу которая при вращении колесика на мышке будет менять число в эдите?

Комментарии

  • 16 мар 2019 07:30
    Ну там надо обратиться к событию Scroll в Windows через WizardMaster, привязать его к функции обработки события для этого поля или формы, а затем работать с этой самой функцией. Там, кажется, событие называется OnScroll.
  • 16 мар 2019 07:58
    Уточните версию дельфи.
  • 16 мар 2019 09:15
    Делфи 7
  • 16 мар 2019 12:18
    Используйте событие формы OnMouseWheel.
  • Комментарий удалён.
  • 16 мар 2019 19:35
    Создаешь новый проект.
    Кидаешь на форму Edit. Задаешь Edit.Text := 0
    В событие формы OnMouse пишешь:

     if WheelDelta < 0 then

       Edit1.Text := IntToStr(StrToInt(Edit1.Text) - 1)

     else

       Edit1.Text := IntToStr(StrToInt(Edit1.Text) + 1)

  • 17 мар 2019 21:11
    Только надо ещё добавить защиту от дурака, на случай если в edit попытаются вписать не число. Иначе ошибка будет в StrToInt. И в первой строке к Edit добавить 1.
  • 18 мар 2019 12:51
    Че мелочится то? Давай те сразу модель данных запилим. Подключим базу данных, докер, сервер тестирования, сервер сборки. :-)
    NumbersOnly:=True - религия запрещает включить, что бы без защиты обойтись? К тому же есть еще и StrToIntDef, что бы точно ни одна бага не прокралась.
    Я написал "Присвоить Edit1.Text:=0" именно для того что бы первоначально задать не текст - не ясно зачем еще 1 :-)
  • 18 мар 2019 13:18
    Я просто дополнил Ваш отзыв, чтобы автор поста не забыл сделать защиту от дурака любым удобным ему способом. Вы просто меня не правильно поняли, не в укор Вам было. По поводу 1, у Вас опечатка  присвоить 0 Edit.Text, Edit1 без 1. И это тоже не для Вас, а для автора, чтобы потом не говорил что у него ничего не работает.
  • 18 мар 2019 14:22
    Строго говоря, там и событие нужно OnMouseWheel, если вы об этом :-)
    Надо ведь дать шанс человеку подумать самому. Конечно этот код будет работать, но это плохой код изначально. Просто пример, не более. Вы же в реальной программе не будете менять значения переменных через визуальные компоненты.