Man kann vieles nehmen, aber seinen wir doch ehrlich: StringGrid hört sich zwar leichter an, denn da sind ja schon Grids. Stimmt, den Punkt kann man sich sparen, die Arbeit kommt aber dann später.
Und Image? Da muß man ja alles machen. Stimmt, so viel ist es aber nicht.
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
x, y, w, h: Integer;
begin
with Image1 do //Felder zeichnen
begin
w := Width div 10;
h := Height div 10;
for x := 0 to 9 do
for y := 0 to 9 do
Canvas.Rectangle(x * w, y * h, (x * w) + w, (y * h) + h);
end;
end;
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
gx, gy: Integer;
begin
with Image1 do //Felder per Klick ermitteln
begin
gx := X div (Width div 10) + 1;
gy := Y div (Height div 10) + 1;
end;
ShowMessage(Format('Feld X: %d, Feld Y: %d', [gx, gy]));
end;