Проблема с DBNumberEditEh

Luc
Дата: 30.06.2009 15:26:41
В DBNumberEditEh создана EditButtons, у которой установлен стиль ebsUpDownEh. Как определить, какая нажата кнопка: вверх или вниз?
Anatoly Podgoretsky
Дата: 30.06.2009 15:32:55
Зачем, а во вторых должен быть обработчик события.

--
http://www.podgoretsky.com
zirra
Дата: 30.06.2009 15:33:31

On Tue, 30 Jun 2009 16:26:41 +0400, Luc <nospam@sql.ru> wrote:

> Автор: Luc
> Как определить, какая нажата кнопка: вверх или вниз?

(шёпотом) А накойхер??? Картинка с другого сайта.

Posted via ActualForum NNTP Server 1.4

Luc
Дата: 30.06.2009 15:41:22
В руководстве к компонентам написано:

Используйте свойства EditButton для настройки кнопки в правой части контрола. Когда EditButton установлен в UpDown, то контрол работает как spin-edit. Используйте свойство Increment для установки того, какое значение будет добавляться и вычитаться из значения при нажатии на spin-кнопки контрола.

Нажимаю вверх и вниз, не работают кнопочки. А когда в поле ввода нажимаю на клаве вверх или вниз, то всё корректно срабатывает.
Volonter12
Дата: 30.06.2009 16:49:06
Luc
В DBNumberEditEh создана EditButtons, у которой установлен стиль ebsUpDownEh. Как определить, какая нажата кнопка: вверх или вниз?

В событии DBNumberEditEh1ButtonDown(Sender: TObject;TopButton: Boolean; var AutoRepeat, Handled: Boolean);
есть флаг TopButton - меняет значение только для ButtonStyle = ebsUpDownEh.

Luc
В руководстве к компонентам написано:

Используйте свойства EditButton для настройки кнопки в правой части контрола. Когда EditButton установлен в UpDown, то контрол работает как spin-edit. Используйте свойство Increment для установки того, какое значение будет добавляться и вычитаться из значения при нажатии на spin-кнопки контрола.

Нажимаю вверх и вниз, не работают кнопочки. А когда в поле ввода нажимаю на клаве вверх или вниз, то всё корректно срабатывает.


Очень странно, первый раз слышу.
Всегда работало правильно и даже доп. события переопределять не нужно было, всё и так увеличивалось или уменьшалось при нажатии на кнопки.
Можно было-бы еще глянуть на код из dfm'а для большей ясности.
Luc
Дата: 30.06.2009 16:59:03
Volonter12
Можно было-бы еще глянуть на код из dfm'а для большей ясности.

    
  object DBNumberEditEh1: TDBNumberEditEh
      Left = 61
      Top = 34
      Width = 58
      Height = 21
      DataField = 'TOPFIELD'
      DataSource = Form7.DataSource1
      EditButtons = <
        item
          Style = ebsUpDownEh
        end>
      Increment = 0.100000000000000000
      MaxValue = 10.000000000000000000
      TabOrder = 1
      Visible = True
    end 
Volonter12
Дата: 30.06.2009 18:58:31
Стало даже интересно, бегло глянул код и могу однозначно сказать что
ситуация, когда по нажатию клавиш вверх и вниз инкриментирует,
а через кнопки editbutton'а не работает, невозможна.

Теперь конкретно по данному чуду программистской мысли
Luc
      EditButtons = <
        item
          Style = ebsUpDownEh
        end>
Это не EditButton - это одна из EditButtons, а для того что бы что-то происходило при нажатию на ДОПОЛНИТЕЛЬНЫЕ кнопки нужно писать ДОПОЛНИТЕЛЬНЫЙ код. Например в том событии о котором я выше писал (событии именно для этой доп. кнопки).

Но можно ведь не приумножать сущностей и написать просто так
      EditButton.Style = ebsUpDownEh
      EditButton.Visible = True
      EditButtons = <>
и всё будет работать как задумано.
Luc
Дата: 30.06.2009 21:31:05
Volonter12, Спасибо, работает.

EditButton.Visible = True

недоглядел))