Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Mostrar mensaje cuando paso Mouse sobre BitBtn (https://www.clubdelphi.com/foros/showthread.php?t=85243)

Jorge Orozco 19-02-2014 18:27:31

Mostrar mensaje cuando paso Mouse sobre BitBtn
 
Hola Compañeros.

Mi pregunta es la siguiente. Como hago para mandar una breve explicación de lo que hace un TBitBtn cuando paso el mouse sobre él y cuando me desplazo fuera del botón, se desactive el mensaje.

Ya utilice el evento onMouseMove, me despliega el mensage que quiero, pero cuando salgo del boton no se me desactiva el cuadro del mensaje, se queda fijo. Lo que utilizo para mandar el mensaje es el ShowMessage. :rolleyes:

Gracias por la ayuda

ecfisa 19-02-2014 18:38:38

Hola Jorge.

Recuerda que el foro Trucos es para aportar código de utilidad no para realizar consultas, moví tu tema aquí.

Sobre tu consulta, ¿ No te sirve la propiedad Hint ?
Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
begin
  // Ambas propiedades son publicadas (asignables desde el Object Inspector)
  BitBtn1.Hint    := '¡ AHORA ESTA SOBRE BitBtn1 !';
  BitBtn1.ShowHint:= True;
end;

Saludos :)

Jorge Orozco 19-02-2014 19:25:02

Hola ecfisa.

Gracias por su respuesta, si me sirvió.

Disculpe, por haber utilizado el foro de trucos, no estaba ubicado como debiera.

Gracias.

ecfisa 19-02-2014 20:02:45

Hola de nuevo Jorge.

No hay problema por la confusión. ;)

Te agrego unas líneas de código de ejemplo que te van a permitir un mayor manejo de los Hints mediante la clase THintWindow:
Código Delphi [-]
...
type
  TMiHintWindow = Class (THintWindow)
    constructor Create (AOwner: TComponent); override;
  end;

  TForm1 = class(TForm)
    BitBtn1: TBitBtn;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    FOldHintWindow: THintWindowClass;
    FHintColor: TColor;
    FHintPause: Integer;
    FHintHidePause: Integer;
  public
  end;

var
  Form1: TForm1;

implementation

{ TMiHintWindow }
constructor TMiHintWindow.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  Canvas.Font.Name := 'Comic Sans MS' ; // nombre de la fuente
  Canvas.Font.Size := 15;  // tamaño
  Canvas.Font.Style:= [fsBold]; // estilo
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  with Application do
  begin
    // salvar valores
    FOldHintWindow := HintWindowClass; 
    ShowHint       := false;
    HintWindowClass:= TMiHintWindow;
    ShowHint       := True;
    FHintColor     := HintColor;
    FHintPause     := HintPause;
    FHintHidePause := HintHidePause;
    //
    HintColor      := clYellow;  // fondo amarillo
    HintPause      := 50; // 50 ms antes de que se visualice
    HintHidePause  := 1600; // la visualización dura 1600 ms.
  end;
end;

...

procedure TForm1.FormDestroy(Sender: TObject);
begin
  // restaurar valores
  with Application do
  begin
    HintColor    := FHintColor;
    HintPause    := FHintPause;
    HintHidePause:= FHintHidePause;
  end;
  HintWindowClass:= FOldHintWindow;
end;

Saludos :)


La franja horaria es GMT +2. Ahora son las 06:30:28.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi