Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Рамка в DBGrid е..... [D6, MSSQL]


garry ©   (2002-07-25 09:34:00) 

Господа! Наверное этот вопрос не совсем по базам данных, но компонент от туда, так что заброшу ка я его сюда. Итак, проблема в следующем. Нужно выделенную строку в dbgrid подсветить рамкой какого-нибудь яркого цвета. Именно рамкой. Это реально? Если да, то как?


garry   (2002-07-25 13:46:00) [1]

Ссорри.... Всё работает, просто я эту линию потом областью закрашивал...


garry   (2002-07-25 13:18:00) [2]

Не устраивает, вот. Ха, но если dgRowLines=False и dgColLines=False то собственно никакие линии и не показываются да же те что выделены!


Black Cat   (2002-07-25 12:08:00) [3]

dgRowLines=False;dgColLines=False;
а чем собственно, dgRowLines не устраивает?


garry   (2002-07-25 11:25:00) [4]

Нет, нет... Именно выделенную строку подсветить нужно. Причём, желательно, чтобы остальная сетка скрыта была.


garry   (2002-07-25 11:23:00) [5]

Класс!!! А тоже самое, только с dgRowLines=false?


Black Cat   (2002-07-25 11:17:00) [6]

Вокруг одной ячейки как-бы ректангла хватит :)


jessis   (2002-07-25 11:13:00) [7]

Вокруг одной ячейки?


Black Cat   (2002-07-25 11:07:00) [8]

DBGrid>Options>dgRowSelect:=true

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
with dbgrid1.Canvas do
If gdSelected in state then
begin
Pen.Color:=clRed;
MoveTo(rect.Left,rect.Top);
LineTo(rect.Right,rect.Top);
MoveTo(rect.Left,rect.Bottom);
LineTo(rect.Right,rect.Bottom);
if Column.Index=0 then
begin
MoveTo(rect.Left,rect.Bottom);
LineTo(rect.Left,rect.Top);
end;
if Column.Index=DBGrid1.Columns.Count-1 then
begin
MoveTo(rect.Right,rect.Bottom);
LineTo(rect.Right,rect.Top);
end;
end;
end;

Остальное сам допишешь. Удачи!


garry   (2002-07-25 10:10:00) [9]

То-то и оно, что на мой случай там решения нет. Покрасить ячейку дело не хитрое, а вот как рамку во круг этой ячейки сделать...


vads   (2002-07-25 09:59:00) [10]

На http://www.delphikingdom.com
Есть статья "Разноцветный DBGRID" там есть решения DBGrid по на все (почти на все) случаи жизни


Наверх

Титульная страница Поиск, карта сайта Написать письмо