Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ScrollBars в DBGrid - а не убрать бы их?


Страницы:   1 2

Builder ©   (2002-05-13 15:18:00) 

Вопрос прост - как убрать скролбары в ДБГриде.
Мешают они.


Builder   (2002-05-14 20:37:00) [1]

2 Кулюкин Олег
Спасибо - мешал как раз горизонтальный тулбар Ж)


Игорь Шевченко   (2002-05-14 17:40:00) [2]

День добрый, deleon ©,

> Так для этого не нужно все крушить безоговорочно, а добавлять
> свои свойства, например, ScrollBars и будет все замечательно,
> будет свой грид


А это и есть свой компонент :-)
И Borland"овские исходники целы и волки сыты :-)

Работа в команде достаточно быстро отучает править что-то только для себя...

С уважением,


deleon   (2002-05-14 17:09:00) [3]

Так для этого не нужно все крушить безоговорочно, а добавлять свои свойства, например, ScrollBars и будет все замечательно, будет свой грид, правда со свойствами не видимыми в OI, ну и располагать их естественно в Public. Я делаю так: назначай директиву условной компиляции, при удалении которой исходник становится стандартным при желании, хотя пока такого не понадобилось, и, главное, DbGrids.pas нужно бросить в папку проекта, чтобы другие проекты жили спокойно :)))


Lusha   (2002-05-14 17:01:00) [4]

>deleon © (14.05.02 16:55)
Есть только одна маленькая загвоздка - если вдруг эти самые полосы прокрутки вновь понадобятся или еще круче, если одновременно потребуются гриды с полосами прокрутки и без оных. Вот тогда будет отнюдь не замечательно, а совсем наоборот... :(


deleon   (2002-05-14 16:55:00) [5]

Иногда, путем исправления (грамотного)борландовского исходника, можно получить прекрасный и надежный результат, главное, что этот результат можно получить за максимально короткое время, без написания своих типов и компонент с переопределениями методов. Мое мнение: все методы хороши, если они приводят к желаемому и не глючному результату, так что каждый выбирает, что ему нравится. Вопрос с правкой исходников иногда не актуален, когда правка одного стандартного модуля, тянет за собой необходимость перекомпиляции с ним кучи других, но с DbGrids.pas все просто замечательно (можно такого наворотить) :)))


Игорь Шевченко   (2002-05-14 16:27:00) [6]

to Johnmen ©:

В моем примере исправления просто не будут иметь никакого эффекта :-)


Johnmen   (2002-05-14 16:24:00) [7]

>Игорь Шевченко © (14.05.02 16:01)
>Править исходникиесть сакс и мастдай :-)

Обоснуй ! :o)


Lusha   (2002-05-14 16:10:00) [8]

>deleon © (14.05.02 15:56)
Есть еще один вариант... Переопределить функции имеющие в своем теле вызов UpdateScrollBar, а именно: CreateWnd, LinkActive и Scroll... Я думаю, это реализуемо...


Игорь Шевченко   (2002-05-14 16:09:00) [9]

День добрый, Johnmen ©,

Самый простой пример: наша фирма с пакетами работает. vcl50.bpl будем в двоичном коде править? :-)

С уважением,


Johnmen   (2002-05-14 16:05:00) [10]

>Игорь Шевченко © (14.05.02 16:01)
>Править исходники есть сакс и мастдай :-)

Обоснуй ! :o)


Игорь Шевченко   (2002-05-14 16:01:00) [11]

to deleon ©:

Править исходники есть сакс и мастдай :-)



deleon   (2002-05-14 15:56:00) [12]

Можно сделать так:
бросить исходник DbGrids.pas в директорию проекта и в нем кое-что поправить:

в TCustomDbGrid.Create
написать:

ScrollBars := ssNone;

и закомментировать тело процедуры
procedure TCustomDBGrid.UpdateScrollBar;

хотя некоторые называют это плохим стилем программирования, но иногда он помогает выжить :)))


Игорь Шевченко   (2002-05-14 14:17:00) [13]

День добрый, Fellomena,

При всем к вам уважении с DBGrid"ом это так просто не получится :-)

С уважением,


Fellomena   (2002-05-14 13:58:00) [14]

Sorry, but...
Честно говоря конкретно про DBGrid сказать не могу, но что у TMemo, TRichEdit-a у скролов точно есть дескриптор и эти скролы легко убираются.
Сама пробовала. Думаю, что и DBGrid не исключение 8)


Игорь Шевченко   (2002-05-14 13:43:00) [15]

День добрый, Дмитрий Баранов,

открою вам страшную тайну - их там не найти :-)

С уважением,


Игорь Шевченко   (2002-05-14 13:41:00) [16]

Кстати, в СТАНДАРТНОМ DBGrid"е убрать ВЕРТИКАЛЬНЫЙ Scrollbar задача не простая...ибо метод UpdateScrollbar не виртуальный, и вызывается при смене текущей строки в grid"е...

С уважением,


Дмитрий Баранов   (2002-05-14 13:38:00) [17]

День добрый, Игорь Шевченко.
Я про то, что вы дочерних окон (т.е. скроллбаров) у DBGrid`а я, например, почему-то не нашел.


Игорь Шевченко   (2002-05-14 13:27:00) [18]

День добрый, Дмитрий Баранов,


> Предлагается открыть WinSight или Spy++ и отыскать хэндлы
> скроллбаров.


Каждый раз, при запуске приложения :-)

С уважением,


Дмитрий Баранов   (2002-05-14 12:36:00) [19]

>> Fellomena
Предлагается открыть WinSight или Spy++ и отыскать хэндлы скроллбаров.


Fellomena   (2002-05-14 12:15:00) [20]

2 LLL (13.05.02 22:36):

Я уверена ;)


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо