![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
StringGrid [D5, WinXP]
RTV © (2006-03-31 12:25:00)Помогите кто может, твкой вот вопрос.
Как в ячейке StringGrid нарисовать, ну скажем квдрат или линию. В общем все что угодно, только не вставить картинку.
RTV (2006-04-10 18:37:00) [1]Огромное спасибо за совет очень пригодился :-) Примного благодарен.
AbrosimovA (2006-03-31 12:57:00) [2]Или так:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
if gdSelected in State then begin
StringGrid1.Canvas.Pen.Color:=clBlack;
StringGrid1.Canvas.Pen.Style:=psSolid;
StringGrid1.Canvas.Rectangle(Rect.Left+1,Rect.Top+1,Rect.Left+11,Rect.Top+11);
end;
end;
AbrosimovA (2006-03-31 12:46:00) [3]Например, нарисуем квадрат:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids;
type TMyGrid = class(TStringGrid)
protected
procedure Paint; override;
end;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
public
end;
var
Form1: TForm1;
StringGrid: TMyGrid;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
StringGrid:=TMyGrid.Create(Self);
StringGrid.Parent:=Form1;
end;
procedure TMyGrid.Paint;
begin
inherited;
Canvas.Pen.Color:=clBlack;
Canvas.Pen.Style:=psSolid;
Canvas.Rectangle(10,10,100,100);
end;
end.