Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.25;
Скачать: CL | DM;

Вниз

Вопрос по компоненту DBGrid   Найти похожие ветки 

 
Kelvin   (2004-01-27 19:15) [0]

Как избавиться от вертикальной полосы полосы прокрутки в DBGrid"e? Точнее как сделать, чтобы она появлялась по мере надобности (как в ListBox"e)? И еще один вопрос: как растянуть первое поле на всю область DBGrid?


 
sergvc   (2004-01-28 14:25) [1]

Удаление вертикальной полосы прокрутки у TDBGrid

Для удаления вертикальной полосы прокрутки из компонента TDBGrid, вам необходимо перекрыть метод Paint. Внутри метода Paint вам необходимо вызвать процедуру API SetScrollRange, чтобы установить минимальные и максимальные значения полосы прокрутки в ноль (
это запретит вывод полосы прокрутки), после чего вызвать родительский метод Paint. Код, приведенный ниже - новый компонент, названный TNoVertScrollDBGrid, у которого отсутствует вертикальная полоса прокрутки. Вы можете скопировать этот код в файл с именем
NEWGRID.PAS и добавить данный компонент в палитру компонентов.

--------------------------------------------------------------------------------
unit Newgrid;

interface

uses

WinTypes, WinProcs, Classes, DBGrids;

type

TNoVertScrollDBGrid = class(TDBGrid)
protected
procedure Paint; override;
end;

procedure Register;

implementation

procedure TNoVertScrollDBGrid.Paint;
begin

SetScrollRange(Self.Handle, SB_VERT, 0, 0, False);
inherited Paint;
end;

procedure Register;
begin

RegisterComponents("Data Controls", [TNoVertScrollDBGrid]);
end;
end.


 
Kelvin   (2004-01-29 18:24) [2]

Спасибо. Все работает, но только происходит мерцание при прорисовке. Можно ли как нибуть от этого избавиться?



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

Текущий архив: 2004.02.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.024 c
1-79891
Fants
2004-02-10 09:49
2004.02.25
Динамические библиотеки


4-80375
Сергей Резников
2003-12-20 08:06
2004.02.25
Application.OnMessage ловит не всё ?


3-79556
Zilog
2004-01-29 13:59
2004.02.25
Query. Просмотр результатов...


14-80284
ИМХО
2004-02-03 20:58
2004.02.25
Кто свершил РЕВОЛЮЦИЮ 1917 года (и что потом поизошло)?


1-79949
Khabibulin
2004-02-13 21:38
2004.02.25
ShellExecute