Форум: "Основная";
Текущий архив: 2004.01.16;
Скачать: [xml.tar.bz2];
ВнизКак отключить автопрокрутку... Найти похожие ветки
← →
_hunter_ (2004-01-05 12:02) [0]Здравствуйте!
На ScrollBox_е находится множество компонентов. Каждый из них можно перемещать при помощи мыши. А проблема в том, что когда компонент получает фокус, ScrollBox автоматически прокручивается, так чтобы этот компонент был виден. Если он виден не полностью то при нажатии на него мышью он сильно смещается. :( Как можно отключить эту прокрутку?
← →
Zergling (2004-01-05 12:10) [1]AutoScroll - false
← →
_hunter_ (2004-01-05 12:12) [2]я тоже так хотел... но если AutoScroll:=false тогда пропадают полосы прокрутки
← →
TUser (2004-01-05 12:33) [3]Перехватить WM_MOUSEWHEELE или что-то в этом роде.
← →
_hunter_ (2004-01-05 12:46) [4]а при чем тут WM_MOUSEWHEELE? когда tab_ом перехожу тоже прокрутка происходит
← →
Семен Сорокин (2004-01-05 12:53) [5]была такая проблема, пришлось сделать в форме следующие обработчики:
1. на OnEnter контрола с фокусом
procedure TfrmSelParams.lvEnter(Sender: TObject);
begin
with TListView(Sender) do
if Items.Count > 0 then begin
if not Assigned(Selected) then
Selected := Items[0];
Selected.Focused := true;
FPos := ScrBox.VertScrollBar.Position
end
end;
2. Обработка message CM_FOCUSCHANGED формы
procedure TfrmSelParams.WMFocusChanged(var Msg: TMessage);
begin
if TWinControl(Msg.LParam) is TListView then
ScrBox.VertScrollBar.Position := FPos
end;
Я сохранял в FPos позицию только вертикального бара, в твоем случае возможно нужно сохранять и горизонтального.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.01.16;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c