Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.10.2011, 13:32   #1
JUDAS
фонатик DELPHI
Форумчанин
 
Аватар для JUDAS
 
Регистрация: 14.01.2008
Сообщений: 714
По умолчанию TDBGrid настройка вида

Как убарать у TDBGrid вертикальную полосу прокрутки ?
Задача:
Вывести информационные (статистические) данные в виде неактивного , нередактируемого окна.
Понимаю что можно наплодить на форме десяток пар TLabel + TDBLabel но это не выход с положения.
Изображения
Тип файла: jpg asdasdasdasda.JPG (16.7 Кб, 50 просмотров)
95% сбоев и ошибок приложений, находится в полу метрах от монитора
JUDAS вне форума Ответить с цитированием
Старый 18.10.2011, 13:44   #2
rdama
Форумчанин
 
Аватар для rdama
 
Регистрация: 25.07.2009
Сообщений: 533
По умолчанию

Мало того, что вопрос уже был на форуме.
Так еще и погуглить руки не поднимаются.
Код:
TDrawGrid(DBGrid1).ScrollBars:=ssNone;
Маразм крепчал. Еноты пели...
R-style Dataknowlege Access Member Account (RDAMA)
rdama вне форума Ответить с цитированием
Старый 18.10.2011, 13:56   #3
JUDAS
фонатик DELPHI
Форумчанин
 
Аватар для JUDAS
 
Регистрация: 14.01.2008
Сообщений: 714
По умолчанию

Цитата:
Мало того, что вопрос уже был на форуме.
Так еще и погуглить руки не поднимаются.
rdama, прежде чем умничать, проверяйте Ваши методы.
Ваш ответ не верен:
Изображения
Тип файла: jpg asdasdasdasda.JPG (29.9 Кб, 42 просмотров)
95% сбоев и ошибок приложений, находится в полу метрах от монитора
JUDAS вне форума Ответить с цитированием
Старый 18.10.2011, 14:23   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Панелью без границ можно справа прикрыть. Можно сдвинуть вправо сам грид, чтобы скрулбар вышел за пределы подложки на которой грид лежит
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 18.10.2011, 14:37   #5
Drugnir
Форумчанин
 
Регистрация: 17.11.2010
Сообщений: 262
По умолчанию

DBGrid выводит ровно столько записей, сколько ты ему говоришь. Т.е. одну страницу данных. так что тебе надо писать процедуру или запрос выводящий только 3 записи или столько сколько тебе нужно.

http://programmersforum.ru/showthread.php?t=555

посмотри еще тут, может поможет.

и вот, хоть и не по делфи, но с билдером они похожи

http://www.sql.ru/forum/actualthread.aspx?tid=48305

Последний раз редактировалось Drugnir; 18.10.2011 в 14:42.
Drugnir вне форума Ответить с цитированием
Старый 18.10.2011, 14:55   #6
JUDAS
фонатик DELPHI
Форумчанин
 
Аватар для JUDAS
 
Регистрация: 14.01.2008
Сообщений: 714
По умолчанию

Аватар, метод конешно нормальный и я подумаю, может так и реализую. Нужно как то замутить с учётом того что форма динамическая. Спасибо !
Drugnir, вот картинка, красным написаны записи. Я спецом включил бордюры и сетку чтобы было видно что количество записей не превосходит 3 штуки (размер выбирал имеено с этого расчёта)
Изображения
Тип файла: jpg asdasdasdasda.JPG (15.0 Кб, 47 просмотров)
95% сбоев и ошибок приложений, находится в полу метрах от монитора
JUDAS вне форума Ответить с цитированием
Старый 18.10.2011, 15:06   #7
Drugnir
Форумчанин
 
Регистрация: 17.11.2010
Сообщений: 262
По умолчанию

Код:
type
  TNoScrollBarDBGrid = class(TDBGrid) // потомок DBGrid
  protected
    procedure Paint; override;// для переделки под нас ...
end;

procedure register;

implementation

procedure register;
begin
  RegisterComponents('KotoffSamples', [TNoScrollBarDBGrid]);
end;
{ Пропишем свое событие отрисовки }
procedure TNoScrollBarDBGrid.Paint;
begin
  SetScrollRange(Handle, SB_VERT, 0, 0, false);// убрать вертикальную полосу
  inherited;// далее пусть отрисовывается на надо
end;
а это не помогло?
Drugnir вне форума Ответить с цитированием
Старый 18.10.2011, 15:31   #8
JUDAS
фонатик DELPHI
Форумчанин
 
Аватар для JUDAS
 
Регистрация: 14.01.2008
Сообщений: 714
По умолчанию

Drugnir , большое спасибо ! +1
Ваш метод прокатил !

Код:
type 
 TDBGrid = class(DBGrids.TDBGrid) // "накрываем стандартный грид потомком"
    protected
      NoScroolBar : boolean;     
      procedure Paint; override;
   end;

....


procedure TForm1.FormCreate(Sender: TObject);
begin
.....
  //  помечаем все Гриды который нужно почистить от ползунков
  _grStat1.NoScroolBar:=true;   
  _grid1user.NoScroolBar:=true;
  _grid1post.NoScroolBar:=true;
end;

....
// отрисовка
procedure TDBGrid.Paint;
begin
  inherited;
  if NoScroolBar then
  SetScrollRange(Handle, SB_VERT, 0, 0, false);
end;
Результат:
Изображения
Тип файла: jpg asdasdasdasda.JPG (15.1 Кб, 43 просмотров)
95% сбоев и ошибок приложений, находится в полу метрах от монитора

Последний раз редактировалось JUDAS; 18.10.2011 в 15:34.
JUDAS вне форума Ответить с цитированием
Старый 18.10.2011, 15:41   #9
Drugnir
Форумчанин
 
Регистрация: 17.11.2010
Сообщений: 262
По умолчанию

Это не мой метода, а из первой ссылки, которую я вам сбрасывал, так что, не зачто
Drugnir вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TDBGrid DrawColumnCell AnBychkov Общие вопросы Delphi 0 16.09.2010 22:04
Поиск по TDBGrid Toska БД в Delphi 1 16.08.2008 23:30
TDBGrid Blackmore БД в Delphi 2 26.05.2008 09:39
скролинг TDBGrid azat БД в Delphi 5 18.01.2008 15:12
редактирование TDBGrid mm_mauser БД в Delphi 5 29.11.2007 11:39