Hi,
also das mit dem Färben an sich ist nicht das Problem nur will ich, dass die Felder bei Rechtsklick Aus(Schwarz) und bei Linksklick An(Rot) werden. Im Moment hab ich das noch so gelöst, das alles über die linke Maustaste geht und wenn Feld = An dann Feld = Aus und andersrum. Wie kann ich das also machen? Wenn ich die Maustaste bei MouseDown auslese und dann dadurch die Farbe bestimmen lasse kann man nicht mehr durch gedrückthalten der Maustaste mehrere Felder färben sondern immer nur eins.
Hoffe ihr habt mein Problem verstanden.
Sieht im Moment so aus.
Delphi-Quellcode:
var matrix : array [0..17,0..7] of boolean;
procedure TForm1.stringgrid1SelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean);
begin
if matrix[acol,arow] = false then
matrix[acol,arow] := true
else matrix[acol,arow] := false;
end;
procedure TForm1.stringgrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
case matrix[acol,arow] of
false: stringgrid1.Canvas.brush.color:= clblack;
true : stringgrid1.Canvas.brush.color:= clred;
end;
stringgrid1.Canvas.fillrect(rect);
end;