TStringGrid como detectar o click do mouse e barra de espaco
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
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
Curtidas 0
Respostas
Marcosrocha
28/04/2009
No caso da barra de espaços é simples: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.
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;
GOSTEI 0
Alineri
28/04/2009
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
Se puder entao manda para mim o codigo com o checkbox.
Obrigado pela dica
um forte abraco
alineri
meu e-mail: eduardoalineri@gmail.com
GOSTEI 0