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
Result := THintWindow.Create(Control);
ShortHint := GetShortHint(Control.Hint);
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);
Result.ActivateHint(HintBox, ShortHint);
end;
var
mango:THintWindow;
begin
mango:=RevealHint(Button1);
procedure RemoveHint (var Hint: THintWindow);
begin
Hint.ReleaseHandle;
Hint.Free;
Hint := nil;
end;
RemoveHint(mango)
Donde 'mango' es el handle que hemos guardado al llamar a RevealHint