Właśnie tu mam problem bo zamiast zaznaczyć mi jedna komórke to zaznacza po kliknieciu caly stringgrid
tak wyglada moj caly kod :
Załączam mój program +screena
i Sprecyzuje Chciałbym żeby można było zazczaczyc komórke i zeby zmieniala kolor
i zeby po nacisnieciu innej tak samo sie robilo
Prosze o pomoc sam chyba nie potrafie tak zrobic aby mi pokolorowalo komórki
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, StdCtrls;
var
x,y,ilosc:integer;
type
TForm1 = class(TForm)
StringGrid1: TStringGrid;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Button1: TButton;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
procedure StringGrid1Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.StringGrid1Click(Sender: TObject);
begin
Label12.Caption:='';
x := StringGrid1.Col;
y := StringGrid1.Row;
begin
if(StringGrid1.Cells[x,y]='x') then
begin
StringGrid1.Cells[x,y]:='';
ilosc:=ilosc-1;
Label10.Caption:=FloatToStr(ilosc);
end
else
begin
if(ilosc<4) then
begin
StringGrid1.Cells[x,y]:='x';
ilosc:=ilosc+1;
Label10.Caption:=FloatToStr(ilosc);
end;
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
//Akord A
if(StringGrid1.Cells[0,0]='')and(StringGrid1.Cells[1,1]='x')and(StringGrid1.Cells[3,2]='x')and(StringGrid1.Cells[4,3]='x')and(ilosc=3) then Label12.Caption:='Akord A-Dur' ;
//Akord As-Dur
if(StringGrid1.Cells[0,0]='')and(StringGrid1.Cells[0,1]='x')and(StringGrid1.Cells[2,2]='x')and(StringGrid1.Cells[3,3]='x')and(ilosc=3) then Label12.Caption:='Akord As-Dur' ;
//Akord a-mol
if(StringGrid1.Cells[0,0]='')and(StringGrid1.Cells[1,1]='x')and(StringGrid1.Cells[2,2]='x')and(StringGrid1.Cells[4,3]='x')and(ilosc=3) then Label12.Caption:='Akord a-mol' ;
//Akord B
if(StringGrid1.Cells[0,0]='')and(StringGrid1.Cells[2,1]='x')and(StringGrid1.Cells[4,2]='x')and(StringGrid1.Cells[5,3]='x')and(ilosc=3) then Label12.Caption:='Akord B-Dur' ;
//Akord h-mol
if(StringGrid1.Cells[0,0]='')and(StringGrid1.Cells[3,1]='x')and(StringGrid1.Cells[4,2]='x')and(StringGrid1.Cells[6,3]='x')and(ilosc=3) then Label12.Caption:='Akord h-mol' ;
//Akord C-Dur
if(StringGrid1.Cells[1,1]='x')and(StringGrid1.Cells[2,2]='x')and(ilosc=2) then Label12.Caption:='Akord C-Dur' ;
//Akord c-mol
if(StringGrid1.Cells[0,1]='x')and(StringGrid1.Cells[2,2]='x')and(ilosc=2) then Label12.Caption:='Akord c-mol' ;
//Akord cis-mol
if(StringGrid1.Cells[0,0]='x')and(StringGrid1.Cells[1,1]='x')and(StringGrid1.Cells[3,2]='x')and(ilosc=3) then Label12.Caption:='Akord cis-mol' ;
//Akord D-dur
if(StringGrid1.Cells[1,0]='x')and(StringGrid1.Cells[3,1]='x')and(StringGrid1.Cells[4,2]='x')and(ilosc=3) then Label12.Caption:='Akord D-dur' ;
//Akord d-mol
if(StringGrid1.Cells[1,0]='x')and(StringGrid1.Cells[2,1]='x')and(StringGrid1.Cells[4,2]='x')and(ilosc=3) then Label12.Caption:='Akord d-mol' ;
//Akord E-Dur
if(StringGrid1.Cells[3,0]='x')and(StringGrid1.Cells[5,1]='x')and(StringGrid1.Cells[6,2]='x')and(ilosc=3) then Label12.Caption:='Akord E-dur' ;
//Akord Es-Dur
if(StringGrid1.Cells[2,0]='x')and(StringGrid1.Cells[4,1]='x')and(StringGrid1.Cells[5,2]='x')and(ilosc=3) then Label12.Caption:='Akord Es-dur' ;
//Akord e-mol
if(StringGrid1.Cells[3,0]='x')and(StringGrid1.Cells[4,1]='x')and(StringGrid1.Cells[6,2]='x')and(ilosc=3) then Label12.Caption:='Akord e-mol' ;
//Akord F-Dur
if(StringGrid1.Cells[4,0]='x')and(StringGrid1.Cells[6,1]='x')and(StringGrid1.Cells[7,2]='x')and(ilosc=3) then Label12.Caption:='Akord F-dur' ;
//Akord F-mol
if(StringGrid1.Cells[4,0]='x')and(StringGrid1.Cells[5,1]='x')and(StringGrid1.Cells[7,2]='x')and(ilosc=3) then Label12.Caption:='Akord g-mol' ;
//Akord Fis-mol
if(StringGrid1.Cells[5,0]='x')and(StringGrid1.Cells[6,1]='x')and(StringGrid1.Cells[8,2]='x')and(ilosc=3) then Label12.Caption:='Akord Fis-mol' ;
//Akord G-dur
if(StringGrid1.Cells[1,2]='x')and(StringGrid1.Cells[2,3]='x')and(ilosc=2) then Label12.Caption:='Akord G-dur' ;
//Akord g-mol
if(StringGrid1.Cells[0,2]='x')and(StringGrid1.Cells[2,3]='x')and(ilosc=2) then Label12.Caption:='Akord g-mol' ;
end;
end.