StringGrid- Como saber as celulas que estão selecinadas?

Delphi

13/04/2007

olá amigos.

estou fazendo uma rotina, para o usuário atribui valores as celulas de um stringgrid.
para nao ter que clicar em uma por uma quando os valores são iguais, eu gostaria de saber como que faz pra pegar as células selecionadas e atribuir 1 valor para todas ao mesmo tempo...

tem como?


agradeço a ajuda desde já;

(^^)


Daniel Martins

Daniel Martins

Curtidas 0

Respostas

Daniel Martins

Daniel Martins

13/04/2007

up


GOSTEI 0
Micheus

Micheus

13/04/2007

[quote:8d01c8ab39=´DAniel S Martins´]eu gostaria de saber como que faz pra pegar as células selecionadas e atribuir 1 valor para todas ao mesmo tempo...[/quote:8d01c8ab39]Já tentou utilizar as propriedades Row e Col?
Com elas vc pode utilizar StringGrid.Cells[StringGrid.Col, StringGrid.Rol] para obter/modificar o valor da célula atualmente selecionada.

Se vc habilitou goRangeSelect em Options, então também pode verificar a propriedade StringGrid.Selection, que é do tipo TGridRect (Left, Top, Right, Bottom ou TopLeft, BottomRight) - dê uma olhada no help.

Abraços


GOSTEI 0
Daniel Martins

Daniel Martins

13/04/2007

eu habilitei a opção goRangeSelect no options, mas não sei como pegar a matrix das celulas que foram selecionadas.
por exempo Coluna inicial -> Coluna final e Linha Inicio -> Linha Fim.

é para agenda, por exempo quero colocar um evento que irá durar toda a tarde, entao as celulas referente a tarde ficam todas com o mesmo valor.
por exemplo da 14:00 as 18:00.

Stringgrid1.selection é TgridRetc, como que usa isso?


GOSTEI 0
Daniel Martins

Daniel Martins

13/04/2007

eu habilitei a opção goRangeSelect no options, mas não sei como pegar a matrix das celulas que foram selecionadas.
por exempo Coluna inicial -> Coluna final e Linha Inicio -> Linha Fim.

é para agenda, por exempo quero colocar um evento que irá durar toda a tarde, entao as celulas referente a tarde ficam todas com o mesmo valor.
por exemplo da 14:00 as 18:00.

Stringgrid1.selection é TgridRetc, como que usa isso?


GOSTEI 0
Daniel Martins

Daniel Martins

13/04/2007

eu habilitei a opção goRangeSelect no options, mas não sei como pegar a matrix das celulas que foram selecionadas.
por exempo Coluna inicial -> Coluna final e Linha Inicio -> Linha Fim.

é para agenda, por exempo quero colocar um evento que irá durar toda a tarde, entao as celulas referente a tarde ficam todas com o mesmo valor.
por exemplo da 14:00 as 18:00.

Stringgrid1.selection é TgridRetc, como que usa isso?


GOSTEI 0
Micheus

Micheus

13/04/2007

[b:67b6ef0380]DAniel S Martins[/b:67b6ef0380], desculpe a demora em respondê-lo.

O uso é bem simples, veja um exemplo onde ao clicar um botão todas as células selecionadas são preenchidas com um determinado valor:
procedure TForm1.Button5Click(Sender: TObject);
var
  Col, Lin :Integer;
begin
  for Col := StringGrid1.Selection.Left to StringGrid1.Selection.Right do
    for Lin := StringGrid1.Selection.Top to StringGrid1.Selection.Bottom do
      StringGrid1.Cells[Col, Lin] := ´Valor´;
end;



GOSTEI 0
POSTAR