Fórum TStringGrid como detectar o click do mouse e barra de espaco #370067

28/04/2009

0

ola pessoal,

tenho um TStringGrid e utilizo o evento onSelectCell para processar os itens selecionados.

acontece que eu tenho um campo para seleção ( ´X´ ) quando o usuario clica nesse campo eu marco um ´X´ nele.

mas acontece que eu quero que somente ao clicar com o mouse ou usando a barra de espaco o campo seja marcado.

hoje utilizando o evento onSelectCell se eu percorrer os regsitros nesse campo com o mouse sem clicar ou utilizando as setas para cima e para baixo do teclado o evento onSelectCell e chamado e o campo e marcado e nao e isso que eu quero.

o que eu quero e marcar somente com o click do mouse ou a barra de espaco quando o campo estiver selecionado

ja testei varios eventos e ainda nao consegui.

alguem tem alguma ideia

um forte abraco

alineri


Alineri

Alineri

Responder

Posts

29/04/2009

Marcosrocha

No caso da barra de espaços é simples:
procedure TForm1.StringGrid1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  if (Key = VK_SPACE) and (StringGrid1.Col = 4) then // Supondo que a coluna a marcar X seja a 4
  begin
    if StringGrid1.Cells[StringGrid1.Col, StringGrid1.Row] = ´´ then
      StringGrid1.Cells[StringGrid1.Col, StringGrid1.Row] := ´X´
    else
      StringGrid1.Cells[StringGrid1.Col, StringGrid1.Row] := ´´;
  end;
end;
Eu tenho um código aqui que adiciona checkboxes na StringGrid e marca um ´X´ na linha que o usuário clicar, se quiser eu passo para você dar uma olhada.


Responder

Gostei + 0

30/04/2009

Alineri

Oi Marcos,

Se puder entao manda para mim o codigo com o checkbox.

Obrigado pela dica

um forte abraco
alineri

meu e-mail: eduardoalineri@gmail.com


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar