Okay, einen Fehler habe ich noch gefunden:
Code:
function TForm1.CellInRange(aGrid: TCustomDrawGrid; aCol, aRow: Integer
): Boolean;
var
Dummy, StartPoint, EndPoint: TGridCoord;
begin
Result := False;
StartPoint.X := aGrid.Col;
StartPoint.Y := aGrid.Row;
if aGrid.Selection.Left <> StartPoint.X then
EndPoint.X := aGrid.Selection.Left
else
EndPoint.X := aGrid.Selection.Right;
if aGrid.Selection.Top <> StartPoint.Y then
EndPoint.Y := aGrid.Selection.Top
else
EndPoint.Y := aGrid.Selection.Bottom;
[color=#f50000][s]if StartPoint.Y > EndPoint.Y then[/s]
if
(StartPoint.Y > EndPoint.Y) or
((StartPoint.Y = EndPoint.Y) and (StartPoint.X > EndPoint.X))
then[/color]
begin
Dummy := StartPoint;
StartPoint := EndPoint;
EndPoint := Dummy;
end;
if aRow < StartPoint.Y then
Exit;
if aRow = StartPoint.Y then
if aCol < StartPoint.X then
Exit;
if aRow > EndPoint.Y then
Exit;
if aRow = EndPoint.Y then
if aCol > EndPoint.X then
Exit;
Result := True;
end;
...
...
P.S.: Wenn es das nicht ist, dann solltest Du noch einmal von Grund auf erklären was Du eigentlich willst