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

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

Закрашивание ячейки стрингрида если над ячейкой находится объект


rioko ©   (2012-06-01 12:40:00) 

Доброе время суток уважаемые мастера! Подскажите пожалуйста, как сделать так, что бы ячейка стринг грида в которой (над которой) находится объект (в данном случае панелька) закрашивалась? Ни как не могу добиться этого :(


procedure ShowProgress(row: integer);
var
 R: TRect;
begin
   R := AddRecordForm.FileTable.CellRect(4, Row);
   R.Left := R.Left + AddRecordForm.FileTable.Left;
   R.Right := R.Right + AddRecordForm.FileTable.Left;
   R.Top := R.Top + AddRecordForm.FileTable.Top;
   R.Bottom := R.Bottom + AddRecordForm.FileTable.Top;
   AddRecordForm.Panel1.Left := R.Left + 1;
   AddRecordForm.Panel1.Top := R.Top + 1;
   AddRecordForm.Panel1.Width := (R.Right + 1) - R.Left;
   AddRecordForm.Panel1.Height := (R.Bottom + 1) - R.Top;
   AddRecordForm.Panel1.Visible := True;
   Application.ProcessMessages();
end;

....

begin
for i := 1 to AddRecordForm.FileTable.RowCount - 2 do
 begin
   ShowProccess(i);
   ....
   ....
end;

....

procedure TAddRecordForm.FileTableDrawCell(Sender: TObject; ACol, ARow: Integer;
 Rect: TRect; State: TGridDrawState);
begin

if Panel1.Visible = true then
begin
   rect := FileTable.CellRect(4,ARow);
   FileTable.Canvas.Brush.Color := clBlack;
   FileTable.Canvas.FillRect(rect);
end;
end;


Очень надеюсь на вашу помощь. Спасибо)


KilkennyCat   (2012-06-03 18:49:00) [1]


> Palladin ©   (01.06.12 16:27) [5]

ты просто не понимаешь принципов программирования на языке высокого уровня (делфи в данном случае - низкого).


Palladin   (2012-06-01 16:27:00) [2]

Что могуть делать в кодинге люди не понимающие простое предложение: "Вызвать invalidate" ? Как же они сами у себя в голове называют процесс вызова функций, методов? "напрограмировал буква" ?


rioko   (2012-06-01 15:52:00) [3]

Спасибо


Плохиш   (2012-06-01 15:18:00) [4]

<grid>.Invalidate;


rioko   (2012-06-01 15:15:00) [5]

А можно пример пожалуйста ?


Плохиш   (2012-06-01 15:08:00) [6]


> Подскажите пожалуйста, как сделать так, что бы ячейка стринг
> грида <...> закрашивалась?

Надо вызвать у грида свойство invalidate


Наверх

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