Stringgrid

  • Автор темы niello
  • Дата начала
N

niello

#1
Как поменять фон StringGrid активной ячейки?
Я вот
var
pic:TBitmap;
begin
if OpenPictureDialog1.Execute then
begin
pic:=TBitmap.Create;
pic.LoadFromFile(OpenPictureDialog1.FileName);
StringGrid1.Canvas.CopyRect(StringGrid1.CellRect(i,j),pic.Canvas,Rect(i*32,J*32,
32,32));
pic.Free;
А вот как толко узнать i,j выделеной ячейки.
И еще, если StringGrid будет перериовываться то что прийдется и мне перерисовывать его так если я хочу сохранить изображения?
Если да то это типа такого
var
i,j:byte;
pic:TBitmap;
str:Array[0..32,0..32]
begin
pic:=TBitmap.Create;
for i:=1 to 33 do begin
for J:=1 to 33 do begin
pic.LoadFromFile(str[i-1][j-1]);
end;
end;
И если так то где это прописывать??
 
X

xmailer

#2
Код:
var
Form1: TForm1;
apic : array[0..4,0..4] of TBitmap;

implementation

{$R *.dfm}

procedure TForm1.StringGrid1DblClick(Sender: TObject);
var
i,j: Integer;
begin
if OpenPictureDialog1.Execute then
begin
apic[StringGrid1.Col,StringGrid1.Row]:=TBitmap.Create;
apic[StringGrid1.Col,StringGrid1.Row].LoadFromFile(OpenPictureDialog1.FileName);
end;
end;


procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
with TStringGrid(Sender).Canvas do
Draw(Rect.Left,Rect.Top, apic[ACol,ARow]);
end;