Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Zellen nur innerhalb einer Zeile markieren (Stringgrid) (https://www.delphipraxis.net/56432-zellen-nur-innerhalb-einer-zeile-markieren-stringgrid.html)

White Rabbit 5. Nov 2005 14:47


Zellen nur innerhalb einer Zeile markieren (Stringgrid)
 
Hallo,

ist es möglich in einer Stringgrid nur Zellen innerhalb(!) einer Zeile markierbar zu machen,
d.h. nur die Zellen links bzw. rechts der zuerst ausgewählten Zelle?
Mit Hilfe der Standard-Properties hab ich keine Lösung gefunden, muss ich da evtl. eine
Event-Methode (OnSelectCell?) überschreiben?
Vielleicht hat das hier schon jemand gemacht.

lieben Dank

marabu 5. Nov 2005 15:36

Re: Zellen nur innerhalb einer Zeile markieren (Stringgrid)
 
Herzlich willkommen in der Delphi-PRAXiS, White Rabbit.

OnSelectCell() scheint mir weniger geeignet. Schau dir mal diesen Code an:

Delphi-Quellcode:
procedure TDemoForm.StringGridClick(Sender: TObject);
var
  p: TPoint;
  gr: TGridRect;
  iCol, iRow: integer;
begin
  with StringGrid do
  begin
    p := ScreenToClient(Mouse.CursorPos);
    MouseToCell(p.X, p.Y, iCol, iRow);
    if (iCol < FixedCols) or (iRow < FixedRows) then
      Exit;
    if iRow <> Row then
    begin
      gr.Left := iCol;
      gr.Right := iCol;
      gr.Top := iRow;
      gr.Bottom := iRow;
      Selection := gr;
    end;
  end;
end;
Grüße vom marabu

White Rabbit 5. Nov 2005 18:26

Re: Zellen nur innerhalb einer Zeile markieren (Stringgrid)
 
hallo marabu,

vielen Dank für die schnelle Antwort.
Reinkopiert, kurz angepasst und es funktioniert. : :-D

greetz WR


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:31 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz