| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > избавиться от ScrollBar |
| Автор: Teleport 26.9.2008, 15:18 | ||
| Нашел код, как избавиться от ScrollBar в DBGrid. Но ScrollBar не исчезает, а постоянно мигает. Как вообще удалить ScrollBar? Вот код, который делает "почти" то что мне нужно...
Справка в 2007 делфи чет не помогла... кучу функций scrollbar 'a перепробовал - и ничего... |
| Автор: THandle 26.9.2008, 15:31 | ||
http://msdn.microsoft.com/en-us/library/bb787601(VS.85).aspx
Это? |
| Автор: Teleport 26.9.2008, 15:52 |
| 2 THandle - это работает, тоже самое и в моем коде выше. Но вот в чем проблема! Когда DBGrid заполняется значениями, то ScrollBar снова появляется! Каждый раз на кнопку нажимать - не очень как-то Подозреваю, что функция EnableScrollBar.... но только не берется она почему-то... Добавлено через 6 минут и 39 секунд не, не та функция... |
| Автор: THandle 26.9.2008, 17:19 |
| Teleport, выложи тестовый проектик. Воспроизводить самому это не хочется |
| Автор: Teleport 26.9.2008, 18:15 | ||
| вот тестовый проектик а вот, совет мне дали...
|
| Автор: THandle 26.9.2008, 21:37 | ||
| Teleport, пока ничего лучше вышепредложенных вариантов не могу предоставить. Вот так, если дважды скрывать:
Практически не заметно мельканий. Но они есть :( Тоже самое и со штуками типа: http://forum.vingrad.ru/faq/topic-156385/hl/dbgrid++scrollbars/index.html Есть пока мысли ка то на время запрещать отрисовку грида или же нафик удалить оттуда ScrollBars. На выходных подумаю если время будет. Сейчас только пару часиков смог проблеме уделить. Порыл гугль - там ничего нет. Все решения с мерцанием. Но выход должен быть Если кто то знает решение - просьба выложить - интересно |
| Автор: Teleport 26.9.2008, 22:52 | ||||||
мне был предложен следующий вариант создание нового контрола:
но вот не могу проверить - так как ssNone не компилируется... :( может какого uses не хватает? Добавлено через 43 секунды
Добавлено через 3 минуты и 16 секунд
|
| Автор: volvo877 27.9.2008, 11:09 | ||||
нормально компилируется и работает (Delphi 2007, ибо теперь UpdateScrollBar - защищенный метод TCustomDBGrid)... |
| Автор: THandle 27.9.2008, 11:11 |
| Teleport, решение есть...) Благодаря библиотеке, любезно предоставленной http://forum.vingrad.ru/index.php?showuser=777&nickname=Rrader'ом ScrollBar исчезает. Работать будет всегда, если не изменять размеров DbGrid'a, иначе ScrollBar снова появится Решение в аттаче. |
| Автор: Teleport 27.9.2008, 21:42 | ||
| 2 volvo877 - у меня не хватало модуля StdCtrls. А делфи - 2007. Вот текст нового контрола. Присваивать авторство не имею права, мне его полностью написали.
в D2007 все работатет так как надо. 2 THandle - нука нука, ты всегда интересные решения предоставляешь, сейчас гляну твое. Большое Спасибо тебе за помощь. Вопрос не на раз-два плюнуть... |
| Автор: Teleport 27.9.2008, 21:57 |
| 2 THandle - да, решение хорошее. |
| Автор: THandle 27.9.2008, 22:35 | ||
| Teleport, завтра с автором поговорю Попробуй положить на форму кнопку и в ней прописать:
Это сработает. Все скроется и при добавлении/удалении данных из грида не появится. но при растягивании ячеек за пределы(можно отследить чтоб этого не было...) опять скроллбар появится. Teleport, данное решение ко мне относится не очень большим образом, поэтому, раз уж мне плюс, то просьба и rrader'у его поставить. Проблема не моя все таки... |
| Автор: THandle 28.9.2008, 00:13 | ||||
Не знаю что там rrader писал, но у меня вот что получилось:
Ну и вот код того примера собсно говоря(то есть меняем на мою библиотеку):
Ну у меня так вот получилось |
| Автор: Rrader 28.9.2008, 05:58 | ||
| THandle, 1) Зачем хуки? 2) Процедура UnHook никогда не вызывается. 3) Результат NewSetScrollRange не определен.
|
| Автор: THandle 28.9.2008, 09:32 |
| Rrader, в час ночи просто потырил код из какой то темы Rrader, в очередной раз поражаюсь твоим знаниям... |
| Автор: Teleport 28.9.2008, 12:14 |
| Спасибо вам за замечательные решения. Знаний почерпнул в этой теме. Конечно в предоставленных кодах еще много неясного... |