![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | 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; |