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

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

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.


Наверх

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