DrawGrid1.Canvas.Brush.Color:=clRed;
DrawGrid1.Canvas.FillRect(DrawGrid1.CellRect(1,1));
Доступ к отдельным ячейкам String/DrawGrid
Как, если возможно, закрасить отдельную ячейку(или несколько) String/Draw Grid в заданный цвет? И если кто знает объясните мне для чего существует DrawGrid? Какого его основное назначение, и где можно найти нормальное описание с примерами всех свойств и методов String/DrawGrid? Заранее благодарен!
Цитата:
Компонент drawgrid используется для создания в приложении таблицу которая может содержать графические изображения. Этот компонент подобен компоненту stringgrid поскольку последний является производным от drawgrid. поэтому в drawgrid присутствуют все свойства sgкроме относящихся к тексту.... sd может хранить в ячейках и изображения, и текст. А если вы захотите внести текст в dg, то вам понадобится использовать метод вывода текста на канву, что не очень удобно.
Цитата из книги Архангельский "Программирование в delphi 7"
А как мне обратиться к конкретной ячейке DrawGrid? Как мне например нужным ячейкам задать определённый цвет, или в нужную ячейку поместить какое-либо изображение?
Цитата: Shtirlitz
А как мне обратиться к конкретной ячейке DrawGrid? Как мне например нужным ячейкам задать определённый цвет, или в нужную ячейку поместить какое-либо изображение?
используй CellRect и Canvas.FillRect для закраски, например:
Код:
Спасибо! Всё работает! Но возник ещё один вопрос: существует ли функция для закрашивания целой области, например Rect(1,1,5,5).
Код:
procedure FillDrawGridRect(DrawGrid: TDrawGrid; ibCol, ibRow, ieCol, ieRow, ColorNumber: word);
var
i, j: Integer;
begin
if (ibCol<=ieCol) and (ibRow<=ieRow) and (DrawGrid.ColCount-1>=ieCol) and (DrawGrid.RowCount-1>=ieRow) then
begin
DrawGrid.Canvas.Brush.Color:=ColorNumber;
for i:=ibCol to ieCol do
for j:=ibRow to ieRow do
DrawGrid.Canvas.FillRect(DrawGrid.CellRect(i,j));
end;
end;
.....................
использование:
.....................
FillDrawGridRect(DrawGrid1,1,1,5,5,clRed);
var
i, j: Integer;
begin
if (ibCol<=ieCol) and (ibRow<=ieRow) and (DrawGrid.ColCount-1>=ieCol) and (DrawGrid.RowCount-1>=ieRow) then
begin
DrawGrid.Canvas.Brush.Color:=ColorNumber;
for i:=ibCol to ieCol do
for j:=ibRow to ieRow do
DrawGrid.Canvas.FillRect(DrawGrid.CellRect(i,j));
end;
end;
.....................
использование:
.....................
FillDrawGridRect(DrawGrid1,1,1,5,5,clRed);
кстати ты там еще посмотри и проверочки может какие-нибудь добавишь.
Понял! Спасибо! А где кроме как в Справочной системе Delphi можно найти описание(подробное) всех свойств и методов стандартных компонентов. А то каждый раз приходиться искать и не всегда находить?
В Google.