Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.10.03;
Скачать: [xml.tar.bz2];

Вниз

Не знаю как убрать ScrollBar из DBGrid ...   Найти похожие ветки 

 
Lina   (2002-09-11 13:35) [0]

Добрый день.
Как убрать ScrollBar из DBGrid ?
Помогите ...


 
Prooksius   (2002-09-11 13:51) [1]

DBGridEh


 
Lina   (2002-09-11 14:04) [2]

Спасибо.
Посмотрю...


 
Lina   (2002-09-11 14:31) [3]


Еще можно так:
ShowScrollBar(DBGrid.Handle, SB_VERT,False);
Только моргает сильно...


 
Prooksius   (2002-09-11 14:38) [4]

Просто DBGridEh имеет кучу других всевозможных настроек, и,
по-моему, лучший.
Насчет твоего способа, попробуй это, когда еще форма не рисуется (в OnShow, например), чтобы сразу показывать DBGrid без ScrollBar-а.
Должно убрать моргание.

Удачи


 
sniknik   (2002-09-11 14:45) [5]

Вопрос уже был, и ктото уже ответил, я отметил для себя метод как интересный но пока не проверял привожу как есть (было).


Для этого необходимо переопределить метод Paint. Внутри метода Paint Вы должны вызвать API процедуру SetScrollRange для установки минимального и максимального значений скроллирования в ноль (тем самым запретив скроллбар), а затем вызвать inherited. Следующий код, это unit содержащий новый компонент под названием TNoScrollBarDBGrid, который делает это.


type
TNoScrollBarDBGrid = class(TDBGrid)
private
protected
procedure Paint; override;
public
published
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;



 
sniknik   (2002-09-11 14:48) [6]

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


 
REA   (2002-09-11 16:47) [7]

А чем вам скроллбар мешает?


 
Prooksius   (2002-09-11 16:58) [8]

Да извратный он... Позиционируется как-то по-левому, вообще непонятно, как. Особенно, если мало записей в Датасете.
Я убрал стандратный ScrollBar и поставил свой с отработкой скроллинга в Датасете. Все пучком. ;)


 
REA   (2002-09-11 17:07) [9]

Еще более извратный в DBLookupCombobox - при смене записи по нажатию на скролл бар значение ключевого поля меняется, а текст в комбобоксе нет. Глючит на всех версиях Delphi включая 7.


 
Johnmen   (2002-09-11 17:24) [10]

>Prooksius © (11.09.02 16:58)
>Позиционируется как-то по-левому, вообще непонятно, как

Позиционируется вертикальный ScrollBar правильно, если используемые компоненты доступа обеспечивают эту правильность.
В общем случае для SQL-серверных БД спозиционировать невозможно.
И дело НЕ в "извратный он.." !

>REA (11.09.02 17:07)
>Еще более извратный в DBLookupCombobox

Ничего там извратного нет ! Просто надо понять логику поведения...:)



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2002.10.03;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.006 c
3-7798
croco
2002-09-11 12:24
2002.10.03
Открыть базу *.dbf без индекса


6-8081
Deuss
2002-08-02 00:01
2002.10.03
TServerSocket и ReceiveText


14-8162
Нуфрик
2002-09-09 22:19
2002.10.03
Здрасти, Помогите...=))))


1-7889
Igor1
2002-09-23 11:06
2002.10.03
Интересная задачка! Делаем движение курсор мыши ПЛАВНЫМ


1-8040
Kran
2002-09-22 17:26
2002.10.03
TreeView





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский