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

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

Проблема с DBGrid [D7]


Barsky ©   (2006-01-12 16:42:00) 

Есть DBGrid. MultiSelect=False, RowSelect=True.

После заполнения и выравнивания получается что выделена (синей полосой) нижняя запись, а реально активна первая (треугольник в фикс. столбе на ней).

Как сделать что выделения совпали?


Johnmen   (2006-01-13 14:59:00) [1]

Здесь явно чего-то не хватает :)
Подробности можно найти здесь
http://delphikingdom.ru/asp/viewitem.asp?catalogid=168


Barsky   (2006-01-13 14:44:00) [2]

=)

Ткни плз пальцом


procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
 DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin

if (((Column.FieldName='F_Summ_dolg') or (Column.FieldName='F_Limit')) and (Column.Field.Text<>'')) then
 begin
 TDBGrid(Sender).Canvas.TextOut(rect.Right-2-TDBGrid(Sender).Canvas.TextWidth(Format('%n',[strtofloat(Column.Field.Text)] )),rect.Top+2,Format('%n',[strtofloat(Column.Field.Text)]));
 if Column.Width<TDBGrid(Sender).Canvas.TextWidth(Format('%n',[strtofloat(Column.Field.Text)]))+4 then Column.Width:=TDBGrid(Sender).Canvas.TextWidth(Format('%n',[strtofloat(Column.Field.Text)]))+4;
 end
else
 if Column.Width<TDBGrid(Sender).Canvas.TextWidth(Column.Field.Text)+6 then Column.Width:=TDBGrid(Sender).Canvas.TextWidth(Column.Field.Text)+6;

end;


Johnmen   (2006-01-13 14:33:00) [3]

>Как сделать что выделения совпали?

Перестать косячить в OnDrawColumnCell
:)


Barsky   (2006-01-13 14:26:00) [4]

В OnDrawColumnCell ширену колонок изменяю, что бы текст влезал.

Уже неделю бьюсь. Ничего не выходит =(


Desdechado   (2006-01-13 13:44:00) [5]

что есть "выравнивание"?


Наверх

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