Fórum Como exibir hint balão tooltip ao passar mouse sobre label? #363662
10/09/2008
0
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
Curtir tópico
+ 0
Responder
Posts
10/09/2008
Wdrocha
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...
Responder
Gostei + 0
10/09/2008
Dbergkamps10
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
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)