Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Delphi 7, hacer que los hints sean como balloon? (https://www.clubdelphi.com/foros/showthread.php?t=66510)

Alejo15x 24-02-2010 02:40:08

Delphi 7, hacer que los hints sean como balloon?
 
Hola.

Pues eso, como hago para que los Hints delos componentes se vean como Balloons?.

Osea algo asì.



Tal cual?. Selos agradecere un monton!

Un Saludote!

dec 24-02-2010 03:08:04

Hola,

"De serie" ni siquiera en las versiones ulteriores de Delphi se contempla algo así, pero, estoy seguro de que podrás conseguir algún componente para Delphi que te facilite lo que quieres. Es cuestión de buscar un poco, por ejemplo, en sitios como Torry's Delphi Pages. Recuerdo que hace tiempo estuve jugando con algunos componentes que ofrecían algo así.

rgstuamigo 24-02-2010 15:54:28

Cita:

Empezado por Alejo15x (Mensaje 354836)
Hola.

Pues eso, como hago para que los Hints delos componentes se vean como Balloons?.

Osea algo asì.



Tal cual?. Selos agradecere un monton!

Un Saludote!

Pues por supuesto que se puede hacer:
Mira este Procedure>
Código Delphi [-]
procedure TForm1.ShowBalloonTip(Control: TWinControl; Icon: integer; Titulo: PChar;
 Texto: PWideChar;BackCL,TextCL: TColor);
const
  TOOLTIPS_CLASS = 'tooltips_class32';
  TTS_ALWAYSTIP = $01;
  TTS_NOPREFIX = $02;
  TTS_BALLOON = $40;
  TTF_SUBCLASS = $0010;
  TTF_TRANSPARENT = $0100;
  TTF_CENTERTIP = $0002;
  TTM_ADDTOOL = $0400 + 50;
  TTM_SETTITLE = (WM_USER + 32);
  ICC_WIN95_CLASSES = $000000FF;
type
  TOOLINFO = packed record
    cbSize: Integer;
    uFlags: Integer;
    hwnd: THandle;
    uId: Integer;
    rect: TRect;
    hinst: THandle;
    lpszText: PWideChar;
    lParam: Integer;
  end;
var
  hWndTip: THandle;
  ti: TOOLINFO;
  hWnd: THandle;
begin
  hWnd    := Control.Handle;
  hWndTip := CreateWindow(TOOLTIPS_CLASS, nil,
    WS_POPUP or TTS_NOPREFIX or TTS_BALLOON or TTS_ALWAYSTIP,
    0, 0, 0, 0, hWnd, 0, HInstance, nil);
  if hWndTip <> 0 then
  begin
    SetWindowPos(hWndTip, HWND_TOPMOST, 0, 0, 0, 0,
      SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);
    ti.cbSize := SizeOf(ti);
    ti.uFlags := TTF_CENTERTIP or TTF_TRANSPARENT or TTF_SUBCLASS;
    ti.hwnd := hWnd;
    ti.lpszText := Texto;
    Windows.GetClientRect(hWnd, ti.rect);
    SendMessage(hWndTip, TTM_SETTIPBKCOLOR, BackCL, 0);
    SendMessage(hWndTip, TTM_SETTIPTEXTCOLOR, TextCL, 0);
    SendMessage(hWndTip, TTM_ADDTOOL, 1, Integer(@ti));
    SendMessage(hWndTip, TTM_SETTITLE, Icon mod 4, Integer(Titulo));
  end;
end;
Ese Procedimiento lo puedes llamar desde el evento OnCreate del formulario y poner al Control(Botones,edits,etc) con el ballon repectivo, mas o menos asi:
Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
begin
 ShowBalloonTip(Button1,1,'My Título','My Hint',clAqua,clBlack);
end;
.
Y puedes usarlo para cualquier otro control;y si te fijas puedes ponerle cualquier color al Ballon(Globo) y al texto, también puedes cambiar el pequeño iconito que sale. ;).
Espero te sea de utilidad.;).
Saludos...:)

edy_aca 11-09-2015 19:37:33

hola Alejo15x
 
sabes por que en windows xp no se ve nada y en windows 8 no se ve el titulo
podrás ayudarme

gracias

Casimiro Notevi 11-09-2015 19:39:07

Yo lo usé con winXP y funcionaba perfectamente. Pon tu código.

edy_aca 11-09-2015 20:45:48

amigo Casimiro Notevi
 
muchas gracias por responder. ya quedo ya funciona escribí mal algo jejej que tengas buen día que amable :)


La franja horaria es GMT +2. Ahora son las 01:24:28.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi