Ir para conteúdo
Fórum Script Brasil
  • 0

ToolTipText da linha do DataGrid


Marco Canhoto

Pergunta

Boa tarde!

tenho uma aplicação em VB6 que possui um Data grid no form. Como a tabela possui muitos campos, eu mostro no

DataGrid apenas os campos mais importantes.

Mas preciso que o usuário visualize todos os dados dos campos da tabela em forma de ToolTipText ao selecionar a linha inteira(no record Selector a esquerda) ou então ao teclar F2 após ter selecionado a linha inteira, por exemplo.

Sei que é no evento KeyPress ou KeyDown, mas não sei como fica o código. testei alguns que achei no google, mas não funcionaram.

Tentei algo como

if KeyCode = VbKeyF2 then data1.ToolTipText = data1.Columns.Item(0)
ou
if KeyAscii = 113 then data1.ToolTipText = data1.Columns.Item(0)

Desde já, muito obrigado.

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Olha amigo, enquanto a questão do ToolTip não sei como poderá fazer isto, porém, vou dar uma acertada neste código:

procedure TForm1.data1KeyPress(Sender: TObject; var Key: Char);
  begin
    if key = #113 then
      data1.ToolTipText := data1.Columns.Item(0);
    end;

Talvez isto possa lhe ajudar:

http://www.revolution.com.br/archives/2005...no_archive.html

http://www.linhadecodigo.com.br/Artigo.aspx?id=2216

abraço!

Editado por ZueRa
Link para o comentário
Compartilhar em outros sites

  • 0
Sei que é no evento KeyPress ou KeyDown, mas não sei como fica o código. testei alguns que achei no google, mas não funcionaram.

o q exatamente acontecer de errado??

qual o problema com esses codigos q você postou??

Olha amigo, enquanto a questão do ToolTip não sei como poderá fazer isto, porém, vou dar uma acertada neste código:

procedure TForm1.data1KeyPress(Sender: TObject; var Key: Char);
  begin
    if key = #113 then
      data1.ToolTipText := data1.Columns.Item(0);
    end;[/code]

Talvez isto possa lhe ajudar:

http://www.revolution.com.br/archives/2005...no_archive.html

http://www.linhadecodigo.com.br/Artigo.aspx?id=2216

abraço!

nossa porque você postou um codigo de delphi e um link pra .net??

o tópico é sobre visual basic 6, não??

Link para o comentário
Compartilhar em outros sites

  • 0
o q exatamente acontecer de errado??

qual o problema com esses codigos q você postou??

Então Kuroi, quando eu posiciono o mouse em cima da l.inha selecionada no datagrid e aperto F2, o tooltip aparece bem depois, isso quando aparece. E depois fica aparecendo involuntariamente, sem que eu o acione.

Acho que no meu caso, o que resolve mesmo é o acionamento por algum botão do teclado mesmo, pois se eu tento usa-lo em eventos como Mouse Move por exemplo, ai ele fica aparecendo sempre.

Link para o comentário
Compartilhar em outros sites

  • 0

mas então, é o seguinte marco.

quando você altera o ttt, assim:

data1.ToolTipText = data1.Columns.Item(0)

você so ta alterando o text q vai aparecer. esse codigo não tem nd a ver com mostrar o texto.

o ttt so aparece quando você passa o mouse por cima. mas entenda assim, se o mouse já esta em cima do grid, o texto so sera atualizado depois q o mouse for movido.

então se o mouse ta parado em cima do grid e o ttt ta vazio. ou seja, não aparece texto nenhum. e ai o cara aperta F2 e o codigo q muda o texto é chamado. mas o texto não vai aparecer já. so vai aparecer quando ele mover o mouse de novo.

e tb não faz diferenca qual a linha do grid o mouse ta na frente ne. porque o ttt vale pro grid todo.

e eu não entendi essa parte do mousemove. você diz q ele fica aparecendo sempre. mas q hora não deveria aparcer??

Link para o comentário
Compartilhar em outros sites

  • 0

Realmente com o Mouse move não dará certo porque ele funcionar por todo o grid como você falou.

Mas então, posso fazer isso ao acionar um botão, não posso?

O meu grid está com o MarqueeStyle em 3 - dbgHighLightRow. (quando eu clico em uma linha, a mesma é inteiramente selecionada)

Sendo assim eu preciso que, ao selecionar uma linha no Grid e apertar F2, o ttt apareça mostrando os dados dessa linha.

Isso é possível?

Link para o comentário
Compartilhar em outros sites

  • 0

mas então, você pode alterar o texto no KeyDown, so q ele so vai aparecer depois q ele mover o mouse.

talvez você possa usar alguma api pra simular o movimento do mouse, mas não sei se existe isso não.

o q você poderia fazer talvez, q acho q seria mais facil, seria mostrar um label em vez do ttt.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...