Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Компоненты и классы
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 06.06.2012, 16:57
expmrs expmrs вне форума
Прохожий
 
Регистрация: 06.06.2012
Сообщения: 5
Репутация: 10
Сообщение ScrollBox без автопрокрутки

Уважаемые эксперты, есть компонент ScrollBox, внутри которого несколько компонент, имеющих фокус ввода. Как сделать, что бы при перемещении фокуса ввода между этими компонентами, не возникало прокрутки области в ScrollBox ?? (однако сами полосы прокруток, с возможностью ручного прокручивания должны присутствовать)
Ответить с цитированием
  #2  
Старый 06.06.2012, 17:16
robt robt вне форума
Активный
 
Регистрация: 17.02.2011
Сообщения: 298
Репутация: -1806
По умолчанию

AutoScroll := false
невероятно, правда ?
Ответить с цитированием
  #3  
Старый 06.06.2012, 17:45
expmrs expmrs вне форума
Прохожий
 
Регистрация: 06.06.2012
Сообщения: 5
Репутация: 10
По умолчанию

Уважаемый robt,
Цитата:
Сообщение от expmrs
(однако сами полосы прокруток, с возможностью ручного прокручивания должны присутствовать)
не просто так указано. Если делать AutoScroll := false они пропадают, при всякой попытке их вернуть (типа HorzScrollBar.Visible := true ), автоматическое прокручивание, при передаче фокуса, начинается снова
Ответить с цитированием
  #4  
Старый 06.06.2012, 18:47
robt robt вне форума
Активный
 
Регистрация: 17.02.2011
Сообщения: 298
Репутация: -1806
По умолчанию

Цитата:
Сообщение от expmrs
Уважаемый robt, не просто так указано. Если делать AutoScroll := false они пропадают, при всякой попытке их вернуть (типа HorzScrollBar.Visible := true ), автоматическое прокручивание, при передаче фокуса, начинается снова
странный компонентег
Код:
/// вставить над определением формы
type
    TScrollBox = class(Forms.TScrollBox)
  protected
    procedure AutoScrollInView(AControl: TControl); override;
  end;
/// вставить над определением формы

/// вставить в имплементейшн
procedure TScrollBox.AutoScrollInView(AControl: TControl); 
begin
exit;
end;
/// вставить в имплементейшн
Ответить с цитированием
Этот пользователь сказал Спасибо robt за это полезное сообщение:
expmrs (06.06.2012)
  #5  
Старый 06.06.2012, 19:13
expmrs expmrs вне форума
Прохожий
 
Регистрация: 06.06.2012
Сообщения: 5
Репутация: 10
По умолчанию

Большое спасибо, то что нужно (exit можно убрать, объявив просто пустой метод)
Ответить с цитированием
  #6  
Старый 06.06.2012, 19:17
robt robt вне форума
Активный
 
Регистрация: 17.02.2011
Сообщения: 298
Репутация: -1806
По умолчанию

Цитата:
Сообщение от expmrs
Большое спасибо, то что нужно (exit можно убрать, объявив просто пустой метод)
но луче оставить, ибо оптимизация может заигнорить,в какойнить версии дельфы
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 02:28.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter