Movendo conteúdo de StringGrid com botão ...

Delphi

29/04/2004

Olá,
gostaria de uma idéia para resolver meu problema: Preciso fazer com que ao apertar um botão um StringGrid role seu conteúdo (como se estivesse clicando na barra de rolagem), tanto para cima ou para baixo.

até agora soh consegui rolar a barra de rolagem :wink:

SetScrollPos(SGHoras.Handle, SB_VERT, GetScrollPos(SGHoras.Handle, SB_VERT)+5, True);

Muito obrigado pela atenção,

[]´s


Anisio

Anisio

Curtidas 0

Respostas

Lucas Silva

Lucas Silva

29/04/2004

Fazendo isto você irá perder dados no seu stringGrid.

Me explica melhor ai.

Se eu tenho algum dado na linha 1 deste stg, quando o usuário clicar no botão, o conteúdo da linha 2 virá para a linha 1, com isto o registro da linha 1 irá sumir??

é isto mesmo?


GOSTEI 0
Anisio

Anisio

29/04/2004

através da manipulação de mensagens do Windows é possível controlar objetos diversos.

SendMessage(Stringlist.Handle,WM_VSCROLL,SB_LINEDOWN,0);


com este código posso fazer com que um botão desça a scrollbar (juntamente com o conteúdo), uma linha sem precisar usar o mouse para isso.

qualquer dúvida utilize o código para teste, é muito simples. :wink:

[]s 8) [/code]


GOSTEI 0
Marco Salles

Marco Salles

29/04/2004

Para rolar a barra de rolagem para cima o código é:
 SendMessage(DbGrid1.Handle,WM_VSCROLL,SB_Lineup,0);



GOSTEI 0
Marco Salles

Marco Salles

29/04/2004

Desculpe , onde se le DbGrid , considere StringList eu fiz confusão

Para rolar a barra de rolagem para cima o código é:
Código:
SendMessage(StringList.Handle,WM_VSCROLL,SB_Lineup,0); 



GOSTEI 0
POSTAR