Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-07-2003
Avatar de madman
madman madman is offline
Miembro
 
Registrado: may 2003
Ubicación: Nayarit, México
Posts: 242
Poder: 22
madman Va por buen camino
Talking Cuadro de mensaje...

Hola...!

Alguien conoce como se puede mandar llamar el cuadro de mensaje que aparece desde Win2000 Professional, parece como un "globo" de historietas.

O basta con hacer un form transparente y usar un BMP como si fuera el cuadro.
__________________
Guía de Estilo.
Responder Con Cita
  #2  
Antiguo 03-07-2003
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Si hablas de los Hints, lo puedes hacer en Win9x con
Código:
CreateWindowEx(0, TOOLTIPS_CLASS, nil, TTS_ALWAYSTIP or TTS_BALLOON....
Aquí tienes un ejemplo http://www.delphipages.com/news/detaildocs.cfm?ID=90

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 03-07-2003
Avatar de madman
madman madman is offline
Miembro
 
Registrado: may 2003
Ubicación: Nayarit, México
Posts: 242
Poder: 22
madman Va por buen camino
Funciona de maravilla...

Gracias!
__________________
Guía de Estilo.
Responder Con Cita
  #4  
Antiguo 04-07-2003
Avatar de madman
madman madman is offline
Miembro
 
Registrado: may 2003
Ubicación: Nayarit, México
Posts: 242
Poder: 22
madman Va por buen camino
Hola...
Yo de nuevo!

Este metodo que proporcionaste delphi.com.ar, parece tener un pequeño detallito, tras usarlo un poco me di cuenta que el Title de

Código:
procedure AddToolTip(hwnd: dword; lpti: PToolInfo; IconType: Integer; Text, Title: PChar);
Aparece en todos los demas AddToolTip's que hagas.

ejemplo:
Código:
 AddToolTip(Memo1.Handle, @ti, 1, 'Escribe aki tu texto', 'Tipo1:');
 AddToolTip(Memo2.Handle, @ti2, 2, '+ Texto', 'Tipo2:');
 AddToolTip(Edit1.Handle, @ti3, 3, 'Estas en el Edit1', 'Tipo3:');
El titulo que pones en el ultimo AddToolTip, aparece en los demas.

Por lo que hice:

Código:
procedure CreateToolTips(hWnd: Cardinal; var hToolTip:Cardinal; var lpti: TToolInfo);
begin
 hToolTip := CreateWindowEx(0, 'Tooltips_Class32', nil, TTS_ALWAYSTIP or TTS_BALLOON,
   Integer(CW_USEDEFAULT), Integer(CW_USEDEFAULT),Integer(CW_USEDEFAULT),
   Integer(CW_USEDEFAULT), hWnd, 0, hInstance, nil);
 if hToolTip <> 0 then
 begin
   SetWindowPos(hToolTip, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE or
     SWP_NOSIZE or SWP_NOACTIVATE);
   lpti.cbSize := SizeOf(TToolInfo);
   lpti.uFlags := TTF_SUBCLASS;
   lpti.hInst := hInstance;
 end;
end;

procedure AddToolTip(hToolTip: Cardinal; hwnd: dword; lpti: PToolInfo; IconType: Integer; Text, Title: PChar);
var
 Item: THandle;
 Rect: TRect;
begin
 Item := hWnd;
 if (Item <> 0) AND (GetClientRect(Item, Rect)) then
 begin
   lpti.hwnd := Item;
   lpti.Rect := Rect;
   lpti.lpszText := Text;
   SendMessage(hToolTip, TTM_ADDTOOL, 0, Integer(lpti));
   FillChar(buffer, sizeof(buffer), #0);
   lstrcpy(buffer, Title);
   if (IconType > 3) or (IconType < 0) then IconType := 0;
      SendMessage(hToolTip, TTM_SETTITLE, IconType, Integer(@buffer));
 end;
end;
Ejemplo:
Código:
unit unit1;

uses
..., CommCtrl, ...;

const
 TTS_BALLOON    = $40;
 TTM_SETTITLE = (WM_USER + 32);
...
...
...
var
  Form1: TForm1;
  hTooltip1, hToolTip2, hToolTip3: Cardinal;
  tip1, tip2,tip3: TToolInfo;
  buffer: array[0..255] of char;
...
...
...

procedure TForm1.FormCreate(Sender: TObject);
begin
 CreateToolTips(Form1.Handle, hToolTip1, tip1);
 CreateToolTips(Form1.Handle, hToolTip2, tip2);
 CreateToolTips(Form1.Handle, hToolTip3, tip3);
 AddToolTip(hToolTip1,Memo1.Handle, @tip1, 1, 'Escribe aki tu texto', 'Tipo1:');
 AddToolTip(hToolTip2,Memo2.Handle, @tip1, 2, '+ Texto', 'Tipo2:');
 AddToolTip(hToolTip3,Edit1.Handle, @tip1, 3, 'Estas en el Edit1', 'Tipo3:');
end;
Se tiene que usar un hToolTip diferente para cada Componente al que le queremos colocar un "Balloon" , aunke el lpti puede ser el mismo. Solo falta darle un retoke a los procedimientos para que queden perfectos.
__________________
Guía de Estilo.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 10:53:26.


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
Copyright 1996-2007 Club Delphi