Evento de click no titulo do DBGrid?

07/11/2005

0

Ola

Gostaria de saber se tem como mostrar uma mensagem quando o usuario der um clique
no titulo de uma coluna do DBGrid?
Observação: O clique tem que ser com mouse lado direito, pois hoje ja existe um
evento quando clicado o o botão esquerdo.

Gostaria que conforme a coluna que o usuario clicar apresentasse um showMessage com
o nome da coluna.

Desde ja agradeço e espero q alguem possa me ajudar
abraço a todos :D


Fernando Piccini

Fernando Piccini

Responder

Posts

07/11/2005

Fernando Piccini

Alguem poderia me ajudar????

vlw


Responder

08/11/2005

Fernando Piccini

Alguma sugestão pessoal

vlw


Responder

08/11/2005

Mrmarcelojr

Kra, sério, jah tentei de tudo mas naum consegui.........fera, qdo vi q vc era de xxe fiquei ateh meia noite e meia tentando......ms seguinte....

Tenta acha alguma funçção que campture a tecla direita do mouse.......
da uma procurada nda API controls, lah deve ter alguma coisa....

Desculpe, ms naum pude lhe ajudar muito neh.... :oops:


Responder

09/11/2005

Rômulo Barros

Use o evento OnTitleClick do seu DBGrid.

procedure TForm1.DBGrid1TitleClick(Column: TColumn);
begin
   ShowMessage(´Nome da coluna: ´ + Column.Field.DisplayLabel);
end;



Responder

10/11/2005

Fernando Piccini

Bem! mas gostaria que este evento acontecesse quando quando fosse clicado com o botão direito no titulo.

mas mesmo assim agradeço pela atenção e se alguem puder contribuir ficaria grato :D

vlw


Responder

10/11/2005

Adriano Santos

Bem! mas gostaria que este evento acontecesse quando quando fosse clicado com o botão direito no titulo. mas mesmo assim agradeço pela atenção e se alguem puder contribuir ficaria grato :D vlw


To tentando, tb...se conseguir algo eu posto.


Responder

10/11/2005

Rômulo Barros

Declare uma variável global:
     MyButton: TMouseButton ;


No evento OnMouseDown do dbgrid faça:

procedure TForm1.DBGrid1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
   MyButton := Button;
   If(Button = mbRight)Then
     DBGrid1TitleClick(DBGrid1.Columns[0]);
end;


No evento OnTitleClick do dbgrid faça:

procedure TForm1.DBGrid1TitleClick(Column: TColumn);
begin
   If(MyButton = mbRight)then
   Begin
      ShowMessage(´Nome da Coluna: ´ + Column.DisplayName);
   End;
end;


[b:a6d86462cd]Acho q isso já irá ajudar um pouco.[/b:a6d86462cd]


Responder

10/11/2005

Martins

A minha solução seria essa.

[b:133f5cd7ed]Criaria uma variavel global [color=red:133f5cd7ed]N: Integer[/color:133f5cd7ed] [/b:133f5cd7ed]

No evento [b:133f5cd7ed]OnColEnter[/b:133f5cd7ed] eu colocaria.
procedure TFxxxxxx.DBGrid1ColEnter(Sender: TObject);
begin
   n:= DBGrid1.SelectedIndex;
end;


No evento [b:133f5cd7ed]OnMouseDown[/b:133f5cd7ed] eu colocaria.

procedure TFxxxxx.DBGrid1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  if button = mbRight then
    ShowMessage(´Coluna: ´ + DbGrid1.Columns[n].FieldName);
end;


Seria isso, agora fica por conta de seu talendo de desenvolvedor.

Boa Sorte!!


Responder

10/11/2005

Rômulo Barros

A minha solução seria essa. [b:2ad59b500a]Criaria uma variavel global [color=red:2ad59b500a]N: Integer[/color:2ad59b500a] [/b:2ad59b500a] No evento [b:2ad59b500a]OnColEnter[/b:2ad59b500a] eu colocaria.
procedure TFxxxxxx.DBGrid1ColEnter(Sender: TObject);
begin
   n:= DBGrid1.SelectedIndex;
end;
No evento [b:2ad59b500a]OnMouseDown[/b:2ad59b500a] eu colocaria.
procedure TFxxxxx.DBGrid1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  if button = mbRight then
    ShowMessage(´Coluna: ´ + DbGrid1.Columns[n].FieldName);
end;
Seria isso, agora fica por conta de seu talendo de desenvolvedor. [color=red:2ad59b500a][u:2ad59b500a][b:2ad59b500a]Boa.[/b:2ad59b500a][/u:2ad59b500a][/color:2ad59b500a] Problema Solucionado !!! :wink: :wink: Boa Sorte!!



Responder

11/11/2005

Martins

[quote:c67bf77c3f=´Rômulo Barros´]
A minha solução seria essa. [b:c67bf77c3f]Criaria uma variavel global [color=red:c67bf77c3f]N: Integer[/color:c67bf77c3f] [/b:c67bf77c3f] No evento [b:c67bf77c3f]OnColEnter[/b:c67bf77c3f] eu colocaria.
procedure TFxxxxxx.DBGrid1ColEnter(Sender: TObject);
begin
   n:= DBGrid1.SelectedIndex;
end;
No evento [b:c67bf77c3f]OnMouseDown[/b:c67bf77c3f] eu colocaria.
procedure TFxxxxx.DBGrid1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  if button = mbRight then
    ShowMessage(´Coluna: ´ + DbGrid1.Columns[n].FieldName);
end;
Seria isso, agora fica por conta de seu talendo de desenvolvedor. [color=red:c67bf77c3f][u:c67bf77c3f][b:c67bf77c3f]Boa.[/b:c67bf77c3f][/u:c67bf77c3f][/color:c67bf77c3f] Problema Solucionado !!! :wink: :wink: Boa Sorte!!
[/quote:c67bf77c3f]

Aê [b:c67bf77c3f]Rômulo[/b:c67bf77c3f] valew compadre, um abraço p/ vc, é sempre bom poder contar com seus posts aqui no fórum, vê se não some.

Falow!!!


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar