Ver Mensaje Individual
  #2  
Antiguo 05-04-2004
Avatar de yusnerqui
yusnerqui yusnerqui is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuba
Posts: 679
Reputación: 21
yusnerqui Va por buen camino
Truco 135 del TManía

Cita:
Empezado por fjolivares

¿Existe alguna manera de mostrar el hint mediante codigo?

Saludos y gracias.
esto lo tomé textualmente del truco 135 del trucomanía, espero te sirva
Utiliza esta función para mostrar el hint de un componente. Recuerda guardar el handle que te devuelve en una
variable para despues destruir el Hint.:


Código Delphi [-]
 function RevealHint (Control: TControl): THintWindow;
 var 
   ShortHint: string;
   AShortHint: array[0..255] of Char;
   HintPos: TPoint;
   HintBox: TRect;
 begin 
   { Create the window: }
   Result := THintWindow.Create(Control);
 
   { Get first half of hint up to '|': }
   ShortHint := GetShortHint(Control.Hint);
 
   { Calculate Hint Window position & size: }
   HintPos := Control.ClientOrigin;
   Inc(HintPos.Y, Control.Height + 6);
   HintBox := Bounds(0, 0, Screen.Width, 0);
   DrawText(Result.Canvas.Handle,
       StrPCopy(AShortHint, ShortHint), -1, HintBox,
       DT_CALCRECT or DT_LEFT or DT_WORDBREAK or DT_NOPREFIX);
   OffsetRect(HintBox, HintPos.X, HintPos.Y);
   Inc(HintBox.Right, 6);
   Inc(HintBox.Bottom, 2);
 
   { Now show the window: }
   Result.ActivateHint(HintBox, ShortHint);
 end; {RevealHint}
 
 
 
//Ejemplo de llamada:
 
 
 
var 
   mango:THintWindow;
begin 
   mango:=RevealHint(Button1);
 
 
 

//Para hacer desaparecer el hint:
 
 
 
 procedure RemoveHint (var Hint: THintWindow);
 begin 
   Hint.ReleaseHandle;
   Hint.Free;
   Hint := nil;
 end; {RemoveHint}
 
 
 
//Ejemplo de llamada:
 
 
 
 RemoveHint(mango)


Donde 'mango' es el handle que hemos guardado al llamar a RevealHint
__________________
Lo importante no es llegar primero, sino saber llegar.

Para que puedas llegar mejor lee la Guia de Estilo


Última edición por vtdeleon fecha: 07-10-2005 a las 02:21:21. Razón: Etiqueta Delphi
Responder Con Cita