Newsgroup: it.comp.lang.delphi
Titolo: Spostare riga selezionata in una TStringGrid

Ciao a tutti,
vorrei "spostare" a programma la riga blu che indica qual'è la riga
selezionata in una TStringGrid. Ho guardato un po' in giro ma non ho trovato
niente. Qualche consiglio?
Grazie, Mario
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 niente. Qualche consiglio?
Devi usare il record di tipo *TGridRect* che rappresenta un'area 
rettangolare di celle selezionate, definendo opportunamente i valori dei 
suoi campi e, successivamente, impostandone il valore nella proprietà 
/Selection/ del controllo *TStringGrid*.
Gli indici da specificare sono "zero based".
Un po' di codice a puro titolo esemplificativo:
     procedure TForm1.Button1Click(Sender: TObject);
     var
       SelGrid: TGridRect;
     begin
       SelGrid.Left := 2;
       SelGrid.Top := 2;
       SelGrid.Right := 3;
       SelGrid.Bottom := 3;
       StringGrid1.Selection := SelGrid;
     end;
Ciao,
   Marco.
-- 
MARCO BREVEGLIERI
  (
http://www.marco.breveglieri.name
)
     Non hai la possibilità di scaricare Turbo Delphi Explorer?
     Te lo spedisco io!! [
http://www.marco.breveglieri.name/?p=48
]

Se vuoi puoi anche cambiare il colore e non farlo diventare BLU !
Nell'evento ONDRAW CELL metti:
if (ACol=StringGrid1.Col)and(ARow=StringGrid1.Row) then
   begin
   StringGrid1.Canvas.Brush.Color := clRed;
   StringGrid1.Canvas.FillRect(Rect);
   StringGrid1.Canvas.TextOut(Rect.Left+2,
            Rect.Top+1,StringGrid1.Cells[ACol,ARow]);
   end;
Se poi cambi RECT puoi fargli evidenziare il quadrato che vuoi....
Disattiva poi il rettangolo blu con le istruzioni che dice Marco..
Ciao !
--- posted by geoForum on 
http://www.delphiedintorni.it

 Se vuoi puoi anche cambiare il colore e non farlo diventare BLU !
Grazie a entrambi, Mario


Disattiva poi il rettangolo blu con le istruzioni che dice Marco..
Cioè per togliere il rettangolo di selezione basta mandarlo out of bound
var MyRect : TGridRect
MyRect.Left:=10000;   // valore fuori dal campo ammissibile
E_G1.Selection:=MyRect;
O forse esiste un'istruzione per disattivare normalmente non ho guardato !
ovviamente posso far disegnare quello che voglio, ad esempio una cornice e
non un rettangolo di selezione, oppure un'immagina di FLAG come ad esempio
un cursore di posizione particolare.....


--------------------------------
Ciao Mario,
mi pare di capire che vuoi spostare "trascinando la riga" con il cursore 
del mouse, non variare l'aspetto della riga evidenziata.
In tal caso è sufficiente fare quanto segue, operando nelle property 
della StringGrid:
deve esistere una colonna "bloccata", cioè a sinistra della grid e non 
scorrevole: in FixedCols indica 1;
po in Options, sotto-property "goRowMoving" inserisci True;
ora, durante l'avvio del programma, all'apparizione della griglia punta 
sulla riga evidenziata cliccando però nella colonna bloccata a sinistra 
E "TRASCINALA" DOVE VUOI.
Spero sia questa la risposta voluta
Auguri di Buon Natale e divertiti.
NioBi


 del mouse, non variare l'aspetto della riga evidenziata.
Grazie, ma volevo solo spostare "l'evidenziatura", non la riga stessa.
Effettivamente leggendo il mio post mi sono frainteso anch'io !!!
Grazie ancora, Mario
