Вниз
Скачать: CL | DM;

Как отключить автопрокрутку...   Найти похожие ветки 

 
_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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.018 c
1-49552
A. Sonin
2004-01-05 21:50
2004.01.16
Эффективный способ предотвращения запуска второго экземпляра


7-49791
Александр из Минска
2003-10-30 23:17
2004.01.16
Во всех ли Виндах есть файл regsvr32.exe?


1-49588
Марат
2004-01-06 12:57
2004.01.16
F1


1-49517
Shur2005
2004-01-02 09:26
2004.01.16
TImage


1-49518
Хомячок
2003-12-30 11:04
2004.01.16
Вырубаем строку(по-хорошему)...




   Наверх