![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
![]() Бросил на форму StringGrid и ScrollBar.
Как сделать, чтобы при прокрутки колесиком мыши, прокручивался весь StringGrid как обычное окно, а не спускалась строка? Если программа даёт неверный результат - в ней ошибка. Если же результат правильный - ошибок, как минимум, две. |
#2
|
||||
|
||||
![]() А зачем вообще отдельный ScrollBar делать? В StringGrid ведь имеются встроенные скролы.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#3
|
||||
|
||||
![]() Цитата:
Как сделать, чтобы с помошью колесика мыши в StringGrid его содержимое перелистывалось, а не опускалось на позицию вниз? Если программа даёт неверный результат - в ней ошибка. Если же результат правильный - ошибок, как минимум, две. |
#4
|
||||
|
||||
![]() Так не устроит?
Код:
procedure TForm1.StringGrid1MouseWheelDown(Sender: TObject; Shift: TShiftState; MousePos: TPoint; var Handled: Boolean); begin if StringGrid1.Row + Succ(StringGrid1.VisibleRowCount) <= StringGrid1.RowCount then StringGrid1.Row := StringGrid1.Row + Succ(StringGrid1.VisibleRowCount); end; procedure TForm1.StringGrid1MouseWheelUp(Sender: TObject; Shift: TShiftState; MousePos: TPoint; var Handled: Boolean); begin if StringGrid1.Row - Succ(StringGrid1.VisibleRowCount) >= StringGrid1.FixedRows then StringGrid1.Row := StringGrid1.Row - Succ(StringGrid1.VisibleRowCount); end; Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#5
|
||||
|
||||
![]() Цитата:
Если программа даёт неверный результат - в ней ошибка. Если же результат правильный - ошибок, как минимум, две. |
#6
|
||||
|
||||
![]() Ну тогда так:
Код:
procedure TForm1.StringGrid1MouseWheelDown(Sender: TObject; Shift: TShiftState; MousePos: TPoint; var Handled: Boolean); begin StringGrid1.Perform(WM_VSCROLL, SB_PAGEDOWN, 0); Handled := True; end; procedure TForm1.StringGrid1MouseWheelUp(Sender: TObject; Shift: TShiftState; MousePos: TPoint; var Handled: Boolean); begin StringGrid1.Perform(WM_VSCROLL, SB_PAGEUP, 0); Handled := True; end; Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
Этот пользователь сказал Спасибо Страдалецъ за это полезное сообщение: | ||
Erilar (08.05.2013)
|
#7
|
||||
|
||||
![]() Цитата:
Если программа даёт неверный результат - в ней ошибка. Если же результат правильный - ошибок, как минимум, две. |
#8
|
||||
|
||||
![]() Цитата:
Код:
procedure TFmNomenklatura.SGNomMouseWheelDown(Sender: TObject; Shift: TShiftState; MousePos: TPoint; var Handled: Boolean); begin SGNom.Perform(WM_VSCROLL, 1, 0); Handled := True; end; procedure TFmNomenklatura.SGNomMouseWheelUp(Sender: TObject; Shift: TShiftState; MousePos: TPoint; var Handled: Boolean); begin SGNom.Perform(WM_VSCROLL, 0, 0); Handled := True; end; Если программа даёт неверный результат - в ней ошибка. Если же результат правильный - ошибок, как минимум, две. |