Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-03-2014
Neeruu Neeruu is offline
Miembro
 
Registrado: oct 2007
Posts: 485
Poder: 17
Neeruu Va por buen camino
Cool Show Hint

Hola a todos...

Necesito mostrar el Hint de un Button pero necesito manejar cuando se muestra este hint.... hasta ahora la única forma de mostrar el hint que encontré es cuando se pasa el mouse por arriba del botton, yo necesito, desde un procedimiento, decirle que me muestre el hint de ese Button independientemente de donde este el mouse...

Estoy trabajando con el BallomHint de Delphi 2010... pero no logro que se posiciones sobre el Button...

El Button se encuentra contenido dentro de un panel de un statusbar...


Para que es esto.... Explico por si alguien tiene otra solución...

Cada cierto tiempo (Timmer) verifico unos datos y tengo que informar al operario del sistema, mostrando le un mensaje pero que no le impida seguir trabajando ya que el operario puede estar en cualquiera de los módulos del sistema...

Por eso yo pensé poner un Button en el statusbar, y cuando tenga que informarle que me muestre un Hint sobre el Button, y al hacer click sobre ese Button pueda ver la información que tiene que controlar...

Eso es lo que tengo que hacer... esta casi todo, me falta decirle desde el timer que me muestre el hint!!!


Espero haberme hecho entender...

Saluda Atte Neeruu!!!
__________________
Saluda Atte Neeruu!!! :)
Responder Con Cita
  #2  
Antiguo 22-03-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Recuerda poner títulos descriptivos a tus preguntas, gracias.
Responder Con Cita
  #3  
Antiguo 22-03-2014
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Código Delphi [-]
procedure TForm1.Button2Click(Sender: TObject);
var
  P: TPoint;
begin
   Button1.ShowHint:= true;
   P.X:= 10;
   P.Y:= 10;
   Windows.ClientToScreen(Button1.Handle, P);
   SetCursorPos(P.X, P.Y);
   Application.ActivateHint(P);
end;

Saludos.
Responder Con Cita
  #4  
Antiguo 22-03-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Neeruu.

escafandra ya te dió una excelente respuesta. Pero, para no tirar el código en que estaba , otra opción similar:
Código Delphi [-]
procedure ShowMsgHint(WCtrl: TWinControl; const MSG: string);
var
  P: TPoint;
begin
  WCtrl.ShowHint:= True;
  WCtrl.Hint:= MSG;
  P.X := WCtrl.Left + WCtrl.Width div 2;
  P.Y := WCtrl.Top + WCtrl.Height div 2;
  Mouse.CursorPos:= WCtrl.Parent.ClientToScreen(P);
end;

Uso:
Código Delphi [-]
procedure TForm1.Button2Click(Sender: TObject);
begin
  ShowMsgHint(Button1, 'Un mensaje');
  ShowMsgHint(ComboBox1,'Otro mensaje');
end;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo 22-03-2014
Neeruu Neeruu is offline
Miembro
 
Registrado: oct 2007
Posts: 485
Poder: 17
Neeruu Va por buen camino
Cool

Hola a todos, gracias por sus respuestas...

Pero le comento que no es lo que necesito....
Con los ejemplo que me pasaron el cursor se posiciona en el button que tiene el el Hint... pero yo no puedo permitir que el cursor salte hasta el button porque mi operario esta trabajando....

Adjunto una imagen....

Nada de reirse con mi cuadro...

Saluda Atte Neruu!!!
Imágenes Adjuntas
Tipo de Archivo: jpg ejemplo.jpg (12,6 KB, 16 visitas)
Archivos Adjuntos
Tipo de Archivo: rar Sin título.rar (85,8 KB, 7 visitas)
__________________
Saluda Atte Neeruu!!! :)

Última edición por Casimiro Notevi fecha: 22-03-2014 a las 15:49:58.
Responder Con Cita
  #6  
Antiguo 22-03-2014
Neeruu Neeruu is offline
Miembro
 
Registrado: oct 2007
Posts: 485
Poder: 17
Neeruu Va por buen camino
Cool

Solucionado...

Gracias a por las ayuda, los códigos compartidos me ayudaron a solucionar el problema...

Comparto con ustedes que estaba haciendo yo y como quedo el código final que anda....


Así era mi Código:
Código Delphi [-]
procedure MyShowHint;
var P: TPoint;
iLeft:Integer;
begin
  iLeft:=dxStatusBar.Panels[0].Width+
  dxStatusBar.Panels[1].Width+
  dxStatusBar.Panels[2].Width+
  dxStatusBar.Panels[3].Width;

  P := Point(iLeft, FrmMain.Height);
  P := ScreenToClient(P);

  cxButton1.ShowHint := True;

  BalloonHint1.Title        := 'Titulo.';
  BalloonHint1.Description  := 'Mensaje!';
  BalloonHint1.ShowHint(P);
end;

Así quedo:

Código Delphi [-]
procedure MyShowHint;
var P: TPoint;
iLeft:Integer;
begin
   cxButton1.ShowHint:= true;
   P.X:= cxButton1.Width;
   P.Y:= 0;
   Windows.ClientToScreen(cxButton1.Handle, P);

   BalloonHint1.Title := 'Titulo';
   BalloonHint1.Description := 'Mensaje';
   BalloonHint1.ShowHint(P);
end;

Principales diferencias, de las cuales tengo que documentarme para ver el porque del asunto, es que en el primer ejemplo estaba utilizando un ScreenToClient, mientras que en el segundo ClientToScreen, en el primero las coordenadas estaban dadas según el tamaño del formulario principal y en el segundo están dadas según el tamaño del Panel del statusbar que contiene el button....

Espero que se entienda...

Saluda Atte Neeruu!!!
__________________
Saluda Atte Neeruu!!! :)
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problemas con Show (formulario) natalinuyo Gráficos 4 18-10-2007 17:22:59
Algún miembro del Foro se encuentra en el Show de T.V. ???? AGAG4 La Taberna 26 03-09-2007 22:38:48
evento show alfil123 Conexión con bases de datos 3 08-11-2006 21:31:35
Como libero una forma que llame con un show jaaron OOP 6 09-06-2005 19:39:52


La franja horaria es GMT +2. Ahora son las 04:53:07.


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
Copyright 1996-2007 Club Delphi