Histórico da Página
Composition Setup |
---|
import.css=/download/attachments/6062824/tecnologia.css |
Cria um ícone do tipo System Tray na área barra de notificação tarefas do sistema operacional, permite a utilização de menu e mensagem popup..
Inclusão de trecho | ||||||
---|---|---|---|---|---|---|
|
Aviso | ||
---|---|---|
| ||
Este componente não é suportado pelo TOTVS | SmartClient HTML. |
Métodos
...
Método New
...
Método construtor da classe.
...
tSystemTray(): New ( [ oWnd], [ cResIcon] ) --> oObjeto
Parâmetros
Nome | Tipo | Descrição | Obrigatório | Referência |
---|---|---|---|---|
oWnd | Objeto | Indica |
o objeto do tipo TWindow, leia observação abaixo. | X |
cResIcon | Caracter | Icone que será apresentado na área de notificação. |
Nota | ||
---|---|---|
| ||
O Parâmetro parâmetro oWnd deve ser sempre uma "TWindow". Caso obrigatóriamente ser um objeto do tipo TWindow, caso contrario será disparada uma exceção no SmartClient. Como só é permitido uma TWindow por sessão do SmartClient é necessário associar o TSystemTray ao objeto oMainWnd:oWnd, veja no exemplo abaixo. |
...
Exemplo
systemTray := tSystemTray():New(oMainWnd :oWnd, "OK" )
Método
...
SetIcon
...
Método para alterar ícone da área de notificação do sistema operacional.
Nota | ||
---|---|---|
| ||
Método pode apresentar restrições para algumas versões de Linux. |
Sintaxe
tSystemTray(): setIcon( [ cResIcon] )
Parâmetros
Nome | Tipo | Descrição | Obrigatório | Referência |
cResIcon | Caracter | Icone que será apresentado na área de notificação. | X |
Exemplo
tSystemTray():setIcon( "OK" )
Método
...
SetMenu
...
Método para definir o menu apresentado quando efetuado o clique com o botão direito sobre o componente.
Nota | ||
---|---|---|
| ||
Método pode apresentar restrições para algumas versões de Linux. |
Sintaxe
tSystemTray(): setMenu( [ oMenu ] )
Parâmetros
Nome | Tipo | Descrição | Obrigatório | Referência |
oMenu | Objeto | Menu apresentado no componente |
Exemplo
tSystemTray():setMenu( oMenu )
Método
...
ShowMessage
...
Apresenta um ícone na área de notificação do sistema operacional.
Nota | ||
---|---|---|
| ||
Método "showMessage" não suportado em Mac. |
Sintaxe
tSystemTray(): showMessage( [ cTitulo ], [ cMessage ], [ nTypeMessage ], [ ntimeout ] , [ bAction ] )
...
title | Atenção! |
---|
...
Parâmetros
Nome | Tipo | Descrição | Obrigatório | Referência |
cTitulo | Caracter | Titulo da mensagem. | ||
cMessage | Caracter | Mensagem apresentado. | ||
nTypeMessage | Numérico | Tipo de Mensagem | 0 = NoIcon, 1 = Information, 2 = Warning, 3 = Critical | |
ntimeout | Numérico | Timeout em Milissegundos da mensagem. | ||
bAction | Bloco de código |
Indica o bloco de código que será executado quando clicar, sobre o botão. |
Exemplo
tSystemTray():showMessage( "Titulo", "Mensagem", 1, 2000, {||Alert("Click")} )
Exemplo
...
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#INCLUDE "TOTVS.CH" Function uU_tSystemTrayTSYSTEMTRAY() Local systemTrayoSysTray Local nXaOptions := 1 Local aItems:= {'NoIcon','Information','Warning','Critical'} Local lVisible := .T. cIcon Private aListCons := GetResArray("*"br_verde_mdi.png") If Len(aListCons)>0 oDlg := TWindowTDialog():New( 10, 10, 200180, 200250, "Exemplo tSystemTrayTSystemTray",,,,,,,,CLR_BLACK,CLR_WHITE,,,,,,,.T. ) systemTray := tSystemTray():New(oDlg , aListCons[nX] ) //Seta Muda o Icone do System Traysystray oTButton1oBtnIcon := TButton():New( 002, 002, "Muda Icone",oDlg,; {||; cIcon := if (nX<Len(aListCons),nX++,nX:=1), systemTray:setIcon(aListCons[nX])cIcon=="br_verde_mdi.png", "br_vermelho_mdi.png", "br_verde_mdi.png"),; oSysTray:setIcon(cIcon); },40,10,,,.F.,.T.,.F.,,.F.,,,.F. ) oTButton3 := TButton():New( 002, 055, "Visible",oDlg,{|| oTGet1:lVisible := systemTray:lVisible := lVisible := !lVisible},40,10,,,.F.,.T.,.F.,,.F.,,,.F. ) cTGet1 //------------------- // Notificações //------------------- cMsg := Space(100) nTimeout cTGet2 := 50000 2000 // 2 Segundos oMsg oTGet1 := TGet():New( 022,02,{|u| if(Valtype(u)=="C",cTGet1 cMsg:= u , cTGet1cMsg)},oDlg,050,009,"@!",,0,,,.F.,,.T.,,.F.,,.F.,.F.,,.F.,.F.,,cTGet1cMsg,,,, ) oTGet2oTimeout := TGet():New( 022,55,{|u| if(Valtype(u)=="N",cTGet2 nTimeout:= u , cTGet2nTimeout)},oDlg,050,009,"@E 999999",,0,,,.F.,,.T.,,.F.,,.F.,.F.,,.F.,.F.,,/*cTGet2nTimeout*/,,,, ) // Seleciona o icone da notificação cOption cCombo1:= aItemsaOptions[1] nItemCombo := 1 oCombo1oCbOpt := TComboBox():New(042,02,{|u|if(PCount()>0,cCombo1cOption:=u,cCombo1cOption)},aItemsaOptions,50,20,oDlg,,; {||; nItemCombo := aScan(aItemsaOptions,cCombo1cOption) - 1; },,,,.T.,,,,,,,,,'cCombo1cOption') //Envia mensagem para o System Tray oTButton2 oBtnNotif := TButton():New( 042, 055, "Mensagem",oDlg,; {|| systemTray; oSysTray:showMessage("Titulo" , Alltrim(cTGet1cMsg) , nItemCombo , cTGet2nTimeout, {|| Alert("Click")} ); },40,10,,,.F.,.T.,.F.,,.F.,,,.F. ) // Popup systemTray:cToolTip := "ToolTip"menu do systray oTMenu1oMenu := TMenu():New(0,0,0,0,.T.,,oDlgoMainWnd:oWnd) oTItem1oIt1 := TMenuItem():New(oDlg,'Menu Item 1',,,,{|| Alert('Menu Item 1') },,'AVGLBPAR1',,,,,,,.T.) oIt2 oTItem2 := TMenuItem():New(oDlg,'Menu Item 2',,,,{|| Alert('Menu Item 2') },,,,,,,,,.T.) oTMenu1oMenu:Add(oTItem1oIt1) oTMenu1oMenu:Add(oTItem2oIt2) // Systray deve ser criado sempre na TWindow principal oSysTray := TSystemTray():New(oMainWnd:oWnd, cIcon) //Seta o Menu do System TrayoSysTray:cToolTip := "TOTVS S.A." systemTrayoSysTray:setMenu(oTMenu1oMenu) oDlg:Activate() EndIf Return Return |
Nota | ||
---|---|---|
| ||
Necessário utilizar a chave ENABLENEWADV=0 no [ ENVINROMENT] do appserver.ini para conseguir utilizar a variável oMainWnd:oWnd |
Previews
...