![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ScrollBars в DBGrid - а не убрать бы их?
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):
Я уверена ;)