Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Stringgrid Multiselect ändern (https://www.delphipraxis.net/160106-stringgrid-multiselect-aendern.html)

Saradmin 27. Apr 2011 19:49

Stringgrid Multiselect ändern
 
Hallo,
ich habe ein kleines Problem, und zwar möchte ich es realisieren, dass wenn der Benutzer meines Programms auf eine Zelle in einem StringGrid klickt, dass dann die ganze Zeile markiert wird. StringGrid.Selection ist leider protected, wie kann ich es trotzdem ändern?

Vielen Dank im Vorraus

blauweiss 27. Apr 2011 20:03

AW: Stringgrid Multiselect ändern
 
Hallo Saradmin,

schau mal, ob es Dir hilft, in den Options goRowSelect auf True zu setzen.
Damit kann der Benutzer aber nicht mehr einzelne Zellen anwählen (eigentlich ja auch klar 8-))

Gruss,
blauweiss

Saradmin 27. Apr 2011 20:09

AW: Stringgrid Multiselect ändern
 
Einwandfrei! Klappt!

Übrigens, wenn man go RangeSelect auch auf True stellt, kann man auch mehrere Zeilen markieren.

:coder2:

Saradmin 27. Apr 2011 20:46

AW: Stringgrid Multiselect ändern
 
Habe noch eine Frage:

Wie frage ich mit goRowSelect und goRangeSelect auf True ab, welche Zeilen markiert sind? Selection gibt leider nur die Position des Fokuses an.

Nochmals Danke im Vorraus

Lannes 27. Apr 2011 20:58

AW: Stringgrid Multiselect ändern
 
Hallo,

dann hast Du nicht genau genug geschaut :wink:

erste markierte Zeile = Selection.Top
letzte markierte Zeile = Selection.Bottom

Saradmin 27. Apr 2011 21:16

AW: Stringgrid Multiselect ändern
 
Ja, hast recht.

Ich habe versehentlich

Delphi-Quellcode:
if view.Selection.Top - view.Selection.Bottom = 1 then ...

statt
Delphi-Quellcode:
if view.Selection.Bottom - view.Selection.Top = 1 then ...

gecoded, und dann habe ich noch bemerkt, dass bei einer markierten Zeile Bottom gleich Top ist.
So siehts nun aus:

Delphi-Quellcode:
if view.Selection.Bottom - view.Selection.Top = 0 then ...

Und siehe da : Es klappt!

Vielen Dank:thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:58 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