ok sakura,
also ich versuchs jetz nochmal zu erklaeren, deine routiene lauft nich, ich denke aber
das du das falsche meinst
ich versuchs jetz mal anders ,ok also :
1.
wenn mouse down im stringgrid , dann schaue in welcher zeile (row a) du bist und selectiere alle felder von aktuellem
colwert bis
colcount vom stringgrid (erste zeile)
2.
wenn mousemove bzw. mouse up, dann schaue in welcher zeile (row b) du bist , wobei (row b > row a sein muss) und selectiere alle felder
von
0 bis
colwert (letzte zeile);
3.
und dann selectiere auch noch das rechteck dazwischen
(0,rowa+1) zu (colcount,rowb-1) (rechteckiger bereich)
markierung sieht dann so aus:
#=markiert
Delphi-Quellcode:
0000000#################### -> erste zeile
########################### -> [rechteckiger bereich zwischen...]
########################### -> [...zeile 1 und letzter zeile....]
########0000000000000000000 -> letzte zeile
000000000000000000000000000
000000000000000000000000000
000000000000000000000000000
Ps: ich denke dein code kann nicht funktionieren weil denkfehler , weil der selectmode des stringgrid noch mit aktiv ist
wenn du naenlich beim markieren nur eine zeile nach unten gehst, dann selectiert , das grid bei deiner routine
auch die 2 zeile von der colposition an und nicht von 0 wie in der darstellung oben, eventueller Loesungsweg: bei grid option: rangeselect auf false
und markierung komplett selber zeichnen
hoffe jetz , das du mich verstehst