Como exibir hint balão tooltip ao passar mouse sobre label?

Delphi

10/09/2008

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

Exvasp

Curtidas 0

Respostas

Wdrocha

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...


GOSTEI 0
Dbergkamps10

Dbergkamps10

10/09/2008

Olá,
vc pode substituir o label por um StaticText da paleta Additional.

Att
Dalton


GOSTEI 0
POSTAR