Текущий архив: 2007.11.04;
Скачать: CL | DM;
Вниз
DBGrid Найти похожие ветки
← →
Sw (2007-06-22 07:25) [0]Подскажите, пожалуйста, можно ли в DBGrid отключить полосу прокрутки?
← →
Johnmen © (2007-06-22 09:10) [1]можно.
← →
vvvvvv (2007-06-22 13:02) [2]Для этого необходимо переопределить метод Paint. Внутри метода Paint Вы должны вызвать API процедуру SetScrollRange для установки минимального и максимального значений скроллирования в ноль (тем самым запретив скроллбар), а затем вызвать inherited. Следующий код, это unit содержащий новый компонент под названием TNoScrollBarDBGrid, который делает это.
type
TNoScrollBarDBGrid = class(TDBGrid)
protected
procedure Paint; override;
end;
procedure register;
implementation
procedure register;
begin
RegisterComponents("Samples", [TNoScrollBarDBGrid]);
end;
{ TNoScrollBarDBGrid }
procedure TNoScrollBarDBGrid.Paint;
begin
SetScrollRange(Handle, SB_VERT, 0, 0, false);
inherited;
end;
← →
Правильный Вася (2007-06-22 14:07) [3]зачем мудрить, если можно вызвать после создания грида
← →
Johnmen © (2007-06-22 14:45) [4]
> можно вызвать после создания грида
А смысл?
← →
Ulugbek (2007-06-24 14:45) [5]Пробовал так не помогает
procedure TForm1.FormShow(Sender: TObject);
begin
ShowScrollBar(DBGrid1.Handle, SB_HORZ, False);
ShowScrollBar(DBGrid1.Handle, SB_VERT, False);
end;
← →
Johnmen © (2007-06-24 14:54) [6]
> Пробовал так не помогает
А что, должно было помочь?
← →
Desdechado © (2007-06-25 11:13) [7]Ulugbek (24.06.07 14:45) [5]
Вот так работает, только это нужно делать ПОСЛЕ открытия датасета:EnableScrollBar( gridAbTerms.Handle, SB_VERT, ESB_DISABLE_BOTH );
ShowScrollBar( gridAbTerms.Handle, SB_VERT, False );
← →
Johnmen © (2007-06-25 13:50) [8]
> Desdechado © (25.06.07 11:13) [7]
Это работает до первой попытки сместить указатель в НД.
← →
Desdechado © (2007-06-25 13:58) [9]Johnmen © (25.06.07 13:50) [8]
За полную достоверность не ручаюсь, но в D7 + XP работает. В качестве датасета - CDS.
Ты на чем пробовал?
← →
Johnmen © (2007-06-25 14:09) [10]
> Desdechado © (25.06.07 13:58) [9]
Сейчас попробую. На чём нибудь....:)
← →
Johnmen © (2007-06-25 14:15) [11]Попробовал...
Зачем - не знаю, ведь и так понятно, что при перерисовке грида после смещения указателя (например) скроллбар будет отрисован заново.
Ну без бегунка - это понятно (EnableScrollBar...).
← →
Ulugbek (2007-06-26 13:20) [12]У меня тоже не работает. CDS.afteopen ставил:(
← →
Johnmen © (2007-06-26 13:27) [13]В общем, я к тому, что способ единственный - перекрыть отрисовку. Пример чего нетрудно найти в инете или посмотреть, что сказал "добрый человек" в [2]...
← →
Desdechado © (2007-06-26 14:05) [14]Johnmen ©
Вообще-то у автора "отключить полосу прокрутки", а не спрятать.
PS я не понимаю, зачем оно нужно
← →
Johnmen © (2007-06-26 14:12) [15]
> Desdechado © (26.06.07 14:05) [14]
> Вообще-то у автора "отключить полосу прокрутки", а не спрятать.
Не ведуют они, что хотят...
Да и телепатор на что?
← →
Игорь Шевченко © (2007-06-27 10:44) [16]
> PS я не понимаю, зачем оно нужно
Я тебе могу популярно объяснить - чтобы скрыть огрехи дизайна приложения :)
← →
atruhin © (2007-06-27 14:22) [17]> Я тебе могу популярно объяснить - чтобы скрыть огрехи дизайна
> приложения :)
Ну почему обязательно так? Например мы пишем ПО для сенсорных мониторов, там стандартная
полоса прокрутки как 5 колесо у телеги.
← →
clickmaker © (2007-06-27 14:37) [18]
> Это работает до первой попытки сместить указатель в НД
а можно в AfterScroll ее опять прихлопнуть :)
← →
Правильный Вася (2007-06-27 15:23) [19]
> там стандартнаяполоса прокрутки как 5 колесо у телеги.
а нестандартная - как 9-е?
← →
atruhin © (2007-06-27 15:30) [20]> а нестандартная - как 9-е?
Примерно так.
← →
Игорь Шевченко © (2007-06-27 15:43) [21]
> Например мы пишем ПО для сенсорных мониторов, там стандартная
> полоса прокрутки как 5 колесо у телеги
Ну и нафига там стандартный DBGrid ?
← →
atruhin © (2007-06-27 19:58) [22]> Ну и нафига там стандартный DBGrid ?
Ну иногда удобно для отображения табличных данных.
Но вообще, ладно, пустой это разговор.
← →
Sw (2007-06-28 06:09) [23]стала использовать DBGridEh из библ EhLib
со стандартным так у меня ничего и не вышло, при перемещении по НД огрехи дизайна промелькивают Глаз успевает увидеть промелькнувшую полосу прокрутки
Страницы: 1 вся ветка
Текущий архив: 2007.11.04;
Скачать: CL | DM;
Память: 0.49 MB
Время: 0.052 c