Einzelnen Beitrag anzeigen

Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#14

Re: Stringgrid selection Problem !

  Alt 2. Jul 2004, 13:43
@richard_boderich

Na ja, den kleinen Bug in meiner Lösung hättest Du ja auch selbst entfernen können

Einfach mal die Methode CellInRange austauschen.

Delphi-Quellcode:
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;

  if StartPoint.Y > EndPoint.Y then
  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;
......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat