Como exibir hint balão tooltip ao passar mouse sobre label?
Pessoal encontrei este código na internet mas funciona com Edit ou Memo. Como fazer esse código ou outro que vocës conheçam funcionar ao passar o mouse sobre o label.
unit Unit1;
interface
uses
// Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
// Dialogs;
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Commctrl, Menus, StdCtrls, Grids, jpeg, ExtCtrls, ComCtrls,
Contnrs, IniFiles, Buttons, StrUtils;
const
TTS_BALLOON = $40;
TTM_SETTITLE = (WM_USER + 32);
type
TForm1 = class(TForm)
Edit1: TEdit;
Memo1: TMemo;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
function CriaToolTip(WndParent: HWnd; TipoIcone: Integer; Titulo: PChar): HWND;
begin // Cria a janela balão
Result := CreateWindowEx(0, ´Tooltips_Class32´, nil, TTS_ALWAYSTIP or
TTS_BALLOON, Integer(CW_USEDEFAULT), Integer(CW_USEDEFAULT),
Integer(CW_USEDEFAULT), Integer(CW_USEDEFAULT), WndParent, 0, hInstance,
nil);
// Traz a janela para a frente
if Result <> 0 then
begin
SetWindowPos(Result, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE or SWP_NOSIZE or
SWP_NOACTIVATE);
// Configura o título e ícone da dica
if (TipoIcone > 3) or (TipoIcone < 0) then
TipoIcone := 0;
SendMessage(Result, TTM_SETTITLE, TipoIcone, Integer(Titulo));
end;
end;
procedure AdicionaToolTip(Window, ToolTip: HWND; Texto: PChar);
var
Rect: TRect;
ti: TToolInfo;
begin
if (Window <> 0) then
begin
GetClientRect(Window, Rect);
// Preenche a estrutura TToolInfo
FillChar(Ti, Sizeof(TToolInfo), 0);
ti.cbSize := SizeOf(TToolInfo);
ti.uFlags := TTF_SUBCLASS;
ti.hInst := hInstance;
ti.hwnd := Window;
ti.Rect := Rect;
ti.lpszText := Texto;
// Atribui a dica
SendMessage(ToolTip, TTM_ADDTOOL, 0, Integer(@ti));
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
ToolTip: HWND;
i: integer;
begin
ToolTip := CriaToolTip(Form1.Handle, 1, PChar(Application.Title));
for i := 0 to ComponentCount - 1 do
begin
AdicionaToolTip(TEdit(Components[i]).Handle, ToolTip, PChar(´Dica do componente ´ + (Components[i]).Name));
AdicionaToolTip(TMemo(Components[i]).Handle, ToolTip, PChar(´Dica do componente ´ + (Components[i]).Name));
end;
end;
end.
Exvasp
Curtidas 0
Respostas
Wdrocha
10/09/2008
Acho dificil vc conseguir pq o label não tem handle ao contrário do Edit e do memo...
Mas eu tenho um componente q faz isso...
é mt mais simples....com uma linha d código vc faz tudo isso....e os balões são até melhores....
se vc quiser....
passa o teu email q eu passo pra vc....tem mts componentes legais.....o balão é apenas um deles...
eu fiz um teste com o label e ele mostrou o balão...
Flw...
Mas eu tenho um componente q faz isso...
é mt mais simples....com uma linha d código vc faz tudo isso....e os balões são até melhores....
se vc quiser....
passa o teu email q eu passo pra vc....tem mts componentes legais.....o balão é apenas um deles...
eu fiz um teste com o label e ele mostrou o balão...
Flw...
GOSTEI 0
Dbergkamps10
10/09/2008
Olá,
vc pode substituir o label por um StaticText da paleta Additional.
Att
Dalton
vc pode substituir o label por um StaticText da paleta Additional.
Att
Dalton
GOSTEI 0