StringGrid

Delphi

25/09/2003

Eu queria que quando um campo de um Stringgrid estivesse preenchido,esse campo nao pudesse mais ser alterado.
Ou que o´foco´nao passa-se pelo campo (ou linha inteira).
É possivel?


Kroki

Kroki

Curtidas 0

Respostas

Marconi

Marconi

25/09/2003

Estranha a sua pergunta. Normalmente StringGrids não são para alteração, mas para mostrar dados na tela.

Para alterações utilizamos DBGrids.

Na StringGrid nem temos a propriedade ReadOnly, e as células somente devem ser preenchidas via programação.

Marconi


GOSTEI 0
Marconi

Marconi

25/09/2003

Uma solução seria, colocar a propriedade keyPreview do form em true e a cada keyPress dentro da stringGrid, recolocar os valores originais destas células. Ou mesmo no OnExit da StringGrid.

Marconi


GOSTEI 0
Marcelo Saviski

Marcelo Saviski

25/09/2003

No evento onKeyDown da StringGrid:

if StringGrid.Cells[StringGrid.Col, StringGrid.Row] ´aa´ then
  Key := 0;


não testei, mas isso deve funcionar assim:
digite aa na celula, ai vc não vai mais poder digitar
tem que alterar para funcionar no seu caso, mas serve como exemplo


GOSTEI 0
POSTAR