Hola gente estoy utilizando los globos con unos procedimientos que encontré dando vueltas en la red que básicamente son muy parecidos a los que mostró
seoane y el inconveniente que tengo es que no puedo hacer que estén "encendidos" indefinidamente, tiene una variable rara con un "TimeOut" pero por mas que le pongas "Infinite" o algún numero grande, el globo se desvanece igual de rápido.. alguna idea??, uso delphi 7
Este es el código...
Está en crudo así que hay constantes que no se usan.. pero no las quité..
desde ya muchas gracias.
Código Delphi
[-]
const
WM_MYMEMO_ENTER = WM_USER + 500;
WM_ICONTRAY = WM_USER + 1;
NIF_INFO = $10;
NIF_MESSAGE = 1;
NIF_ICON = 2;
NOTIFYICON_VERSION = 3;
NIF_TIP = 4;
NIM_SETVERSION = $00000004;
NIM_SETFOCUS = $00000003;
NIIF_INFO = $00000001;
NIIF_WARNING = $00000002;
NIIF_ERROR = $00000003;
NIN_BALLOONSHOW = WM_USER + 2;
NIN_BALLOONHIDE = WM_USER + 3;
NIN_BALLOONTIMEOUT = WM_USER + 4;
NIN_BALLOONUSERCLICK = WM_USER + 5;
NIN_SELECT = WM_USER + 0;
NINF_KEY = $1;
NIN_KEYSELECT = NIN_SELECT or NINF_KEY;
TNewNotifyIconData = record
cbSize: DWORD;
Wnd: HWND;
uID: UINT;
uFlags: UINT;
uCallbackMessage: UINT;
hIcon: HICON;
szTip: array [0..127] of Char;
dwState: DWORD; dwStateMask: DWORD; szInfo: array [0..255] of Char; DUMMYUNIONNAME: TDUMMYUNIONNAME;
szInfoTitle: array [0..63] of Char; dwInfoFlags: DWORD; end;
procedure TForm1.ShowBalloonTips;
var
TipInfo, TipTitle: string;
begin
IconData.cbSize := SizeOf(IconData);
IconData.uFlags := NIF_INFO;
TipInfo := 'Esto es una prueba del texto que se puede poner en el globo emergente: http://www.ajpdsoft.com';
strPLCopy(IconData.szInfo, TipInfo, SizeOf(IconData.szInfo) - 1);
IconData.DUMMYUNIONNAME.uTimeout := 30000;
TipTitle := 'Este sería el título del globo';
strPLCopy(IconData.szInfoTitle, TipTitle, SizeOf(IconData.szInfoTitle) - 1);
IconData.dwInfoFlags := NIIF_INFO; Shell_NotifyIcon(NIM_MODIFY, @IconData);
IconData.DUMMYUNIONNAME.uVersion := NOTIFYICON_VERSION;
if not Shell_NotifyIcon(NIM_SETVERSION, @IconData) then
ShowMessage('Ha fallado la creación del icono en la barra de notificación.');
end;