Minarini 0 Denunciar post Postado Agosto 13, 2007 Ola, um programa fornece uma opção de rodar no tray, imediatamente ubre um balao acima do tray indicando que o sistema não foi fechado e sim minimizado para o tray, como posso fazer esse tipo de animação?Tem algum componente ja pronto? função? Compartilhar este post Link para o post Compartilhar em outros sites
Rodrigo Miss 1 Denunciar post Postado Agosto 14, 2007 beleza ?! use isto: uses Commctrl;procedure ShowBalloonTip(Control: TWinControl; Icon: integer; Title: pchar; Text: 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 := Text; 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(Title)); end; end;procedure TForm1.Button1Click(Sender: TObject);begin ShowBalloonTip(Button1, 1, 'Dica','Use sua criatividade ...', $00D3FAF8, clNavy);end; Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Agosto 14, 2007 Existe um componente que faz tudo isto e mais um pouco, se chama CoolTrayIcon, pode baixar neste link. Compartilhar este post Link para o post Compartilhar em outros sites
Hugo Slepicka 0 Denunciar post Postado Agosto 14, 2007 e se estiver usando o Delphi 2006 existe nele também o TTrayIcon... que faz exatamente isso também!!! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
Minarini 0 Denunciar post Postado Agosto 14, 2007 beleza ?!use isto: uses Commctrl;procedure ShowBalloonTip(Control: TWinControl; Icon: integer; Title: pchar; Text: 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 := Text; 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(Title)); end; end;procedure TForm1.Button1Click(Sender: TObject);begin ShowBalloonTip(Button1, 1, 'Dica','Use sua criatividade ...', $00D3FAF8, clNavy);end; ola não funcionou esse codigo o sistema compilou mas ao clicar debuguei e nada aconteceuo tray icone eu ja tenho só que eu quero o balãozinho do XP tipo quando se conecta um pendriver no cpu ou um novo hardware encopntrado etc... Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Agosto 14, 2007 Com o CoolTrayIcon consegue fazer isto, tem uma opção para exibir mensagens deste tipo... Compartilhar este post Link para o post Compartilhar em outros sites
Minarini 0 Denunciar post Postado Agosto 14, 2007 o meu colltrayicone que tenho aqui não tem essa propriedade não Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Agosto 14, 2007 Abra o programa "CoolTrayTest.exe" que venho junto com o componente, é um exemplo das funcionalidades, depois que abrir, clique em "Show balloon hint" e para sumir com a mensagem clique em "Hide balloon hint". Compartilhar este post Link para o post Compartilhar em outros sites
Minarini 0 Denunciar post Postado Agosto 15, 2007 pois então, eu só tenho o .pas e não tenho o exemplo tem como você me passar por email?arthurallonso@terra.com.brAgradeço desde já Compartilhar este post Link para o post Compartilhar em outros sites