Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Composition Setup
import.css=/download/attachments/3279126062824/newLayouttecnologia.css
Portuguese

Pagetitle

...

Classe TMenuItem

Classe

...

TMenuItem

Cria

...

um

...

objeto

...

do

...

tipo

...

menu/item

...

de

...

menu.

Hierarquia

Construtores

Inclusão de trecho
Classe TMenuItem - Construtores
Classe TMenuItem - Construtores
nopaneltrue

Propriedades

Inclusão de trecho
Classe TMenuItem - Propriedades
Classe TMenuItem - Propriedades
nopaneltrue

Métodos

Inclusão de trecho
Classe TMenuItem - Métodos
Classe TMenuItem - Métodos
nopaneltrue

Exemplos

    oRetorno(objeto)
  • Retorna o objeto criado.

New2

Inicia uma nova instância da classe TMenuItem.

TMenuItem(): New2 ( [ oParent], [ cTitle], [ cParam3], [ lActive], [ bAction], [ cResName], [ cResHover], [ nClrNoSelect], [ nClrSelect], [ cArrowRightNoSel], [ cArrowRightSel], [ cArrowDownNoSel], [ cArrowDownSel] ) --> oObjeto

    oObjeto(objeto)
  • Retorna o objeto criado.
Add

Add

Adiciona um subitem ao menu.

TMenuItem(): Add ( [ oMenu] ) -->

oMenuDiv:Add( TMenuItem():New2( oMenuMain:Owner(),'Sub-Item 001';              ,,,{||Alert('TMenuItem 1')} )

AddSeparator

Adiciona um separador no menu.

TMenuItem(): AddSeparator ( ) -->

SetActive

Ativa a opção do menu com o clique do mouse.

TMenuItem(): SetActive ( ) -->

oMenuDiv:SetActive()
Bloco de código
languagecpp
themeEclipse
titleExemplo 1
linenumberstrue
collapsefalse
  #include "TOTVS.CH"

  User Function TMenuItem()
    local oDialog := nil
    local oFolder := nil
    local

TSrvObject -> TControl -> TMenuItem

New

New

Inicia uma nova instância da classe TMenuItem.

TMenuItem(): New ( < oParent>, [ cTitle], [ cParam3], [ lParam4], [ lActive], [ bAction], [ cParam7], [ cResName], [ nParam9], [ cParam10], [ lParam11], [ nParam12], [ bParam13], [ lParam14], [ lPopup] ) --> oRetorno

NomeTipoDescriçãoObrigatórioReferência
oParentObjetoIndica o controle visual onde o objeto será criado. X cTitleCaracterIndica o texto do item.cParam3CaracterCompatibilidade.lParam4LógicoCompatibilidade.lActiveLógicoIndica se, verdadeiro (.T.), o item está ativo; caso contrário, falso (.F.).bActionBloco de códigoIndica o bloco de código que será executado quando clicar, com o botão esquerdo do mouse, sobre o objeto.cParam7CaracterCompatibilidade.cResNameCaracterIndica a imagem, do repositório, que será apresentada quando o ponteiro do mouse não estiver posicionado sobre o item.nParam9NuméricoCompatibilidade.cParam10CaracterCompatibilidade.lParam11LógicoCompatibilidade.nParam12NuméricoCompatibilidade.bParam13Bloco de códigoCompatibilidade.lParam14LógicoCompatibilidade.lPopupLógicoIndica se, verdadeiro (.T.), o item faz parte de um popup; caso contrário, falso (.F.).
NomeTipoDescriçãoObrigatórioReferência
oParentObjetoIndica a janela ou controle visual onde o objeto será criado.cTitleCaracterIndica o texto do item.cParam3CaracterCompatibilidade.lActiveLógicoIndica se, verdadeiro (.T.), o item está ativo; caso contrário, falso (.F.).bActionBloco de códigoIndica o bloco de código que será executado quando clicar, com o botão esquerdo do mouse, sobre o objeto.cResNameCaracterIndica a imagem, do repositório, que será apresentada quando o ponteiro do mouse não estiver posicionado sobre o item.cResHoverCaracterIndica a imagem, do repositório, que será apresentada quando o ponteiro do mouse estiver posicionado sobre o item.nClrNoSelectNuméricoIndica a cor do item que não está selecionado.nClrSelectNuméricoIndica a cor do item quando selecionado.cArrowRightNoSelCaracterIndica a imagem do repositório, no formato de seta para a direita, que será apresentada quando o item estiver fechado e não selecionado. Observação: Essa imagem é apresentada quando o item contém subitens.cArrowRightSelCaracterIndica a imagem do repositório, no formato de seta para a direita, que será apresentada quando o item estiver fechado e selecionado. Observação: Essa imagem é apresentada quando o item contém subitens.cArrowDownNoSelCaracterIndica a imagem do repositório, no formato de seta para baixo, que será apresentada quando o item estiver aberto e não selecionado. Observação: Essa imagem é apresentada quando o item contém subitens.cArrowDownSelCaracterIndica a imagem do repositório, no formato de seta para baixo, que será apresentada quando o item estiver aberto e selecionado. Observação: Essa imagem é apresentada quando o item contém subitens.
NomeTipoDescriçãoObrigatórioReferência
oMenuObjetoIndica o objeto do tipo TMenuItem utilizado para incluir um item ou subitem de menu.
PropriedadeDescriçãoTipo
aItemsIndica o array que contêm os subitens do tipo TMenuItem.Vetor
bActionIndica o bloco de código que será executado quando clicar, com o botão esquerdo do mouse, sobre o objeto.Bloco de código
lCheckedIndica se, verdadeiro (.T.), o item está com status de verificado.Lógico
oMenuIndica o objeto do tipo TMenu utilizado para incluir o menu.Objeto
user function exemplolocal oDialog := nillocal oFolder := nillocal
 aFnctns := __funArr()

    aScan(aFnctns, {|x|lower(x[1]) == "tmenuitem"})
    
    // cria a janela do teste
 
    oDialog := msDialog():new(0, 0, 600, 800, , , , , , , , , , .T.)

    
    oDialog:lCentered := .T
.
. 
    // centraliza a janela e ignora a definição anterior de nTop e nLeft
    // cria as pastas
 
    oFolder := tFolder():New(, , , , oDialog, , , , , , , , , )
 
    oFolder:nLeft   := 5
  
    oFolder:nTop    := 5
  
    oFolder:nWidth  := oDialog:nClientWidth - 10
  
    oFolder:nHeight := oDialog:nClientHeight - 10
 
    oFolder:AddItem("tButton", .T.)
 
    oFolder:AddItem("tMenu"
, .T.)
, .T.) 
    oFolder:AddItem("tMenuBar", .T.)
  
    // tButton
  
    exemploa(oFolder:aDialogs[1])

    // tMenu
  
    exemplob(oFolder:aDialogs[3])

    // tMenuBar
 
    exemploc(oFolder:aDialogs[2])

    // apresenta a janela
 
    oDialog:activate
()returnstatic
()
  return

  static function exemploa(oParent)
    local oMenu := 
nillocal
nil
    local oButton1 := nil, oMenu01 := nil, oMenu0101 := nil, oMenu0102 := nil, oMenu0103 := nil 
    local oButton2 := nil, oMenu02 := nil, oMenu0201 := nil, oMenu0202 := nil, oMenu0203 := nil 
    local oButton3 := nil, oMenu03 := nil, oMenu0301 := nil, oMenu0302 := nil, oMenu0303 := nil 
    local oSubMenu := nil
    
    // cria os menus
  
    oMenu01 := tMenu():new(0, 0, 0, 0, .T., , oMenu)
  
    oMenu02 := tMenu():new(0, 0, 0, 0, .T., ,
, oMenu)
 oMenu)  
    oMenu03 := tMenu():new(0, 0, 0, 0, .T., , oMenu)
    
    // cria os itens dos menus
  
    oMenu0101 := tMenuItem():new(oMenu01, "Menu 01, item 01", , , , {|| }, , , , , , , , , .T.)
 
    oMenu0102 := tMenuItem():new(oMenu01, "Menu 01, item 02", , , , {||msgInfo("Menu 01, item 02")}, , , , , , , , , .T.)
 
    oMenu0103 := tMenuItem():new(oMenu01, "Menu 01, item 03", , , .F., {||msgInfo("Menu 01, item 03")}, , , , , , , , , .T.)
  
    oMenu0201 := tMenuItem():new(oMenu02, "Menu 02, item 01", , , , {||msgInfo("Menu 02, item 01")}, , , , , , , , , .T.)
 
    oMenu0202 := tMenuItem():new(oMenu02, "Menu 02, item 02", , , , {||msgInfo("Menu 02, item 02")}, , , , , , , , , .T.)
 
    oMenu0203 := tMenuItem():new(oMenu02, "Menu 02, item 03", , , , {||msgInfo("Menu 02, item 03")}, , , , , , , , , .T.)
 
    oMenu0301 := tMenuItem():new(oMenu03, "Menu 03, item 01", , , , {||msgInfo("Menu 03, item 01")}, , , , , , , , , .T.
)
) 
    oMenu0302 := tMenuItem():new(oMenu03, "Menu 03, item 02", , , .F., {||msgInfo("Menu 03, item 02")}, , , , , , , , , .T.)
  
    oMenu0303 := tMenuItem():new(oMenu03, "Menu 03, item 03", , , , {||msgInfo("Menu 03, item 03")}, , , , , , , , , .T.)
    
    // adiciona os itens dos menus
  
    oMenu01:add(oMenu0101)
  
    
    // cria um subitem de um submenu
    
    oSubMenu := tMenuItem():new(oMenu0101, "SubMenu 01, item 01", , , , {||msgInfo("SubMenu 01, item 01")}, , , , , , , , ,
.T.)
 .T.)  
    
    // adiciona o subitem do submenu
    
    oMenu0101:add(oSubMenu)
 
    oMenu01:add(oMenu0102)
  
    oMenu01:add(oMenu0103)
  
    oMenu02:add(oMenu0201)
  
    oMenu02:add(oMenu0202)
  
    oMenu02:add(oMenu0203)
  
    oMenu03:add(
oMenu0301)
oMenu0301)  
    oMenu03:add(oMenu0302)
  
    oMenu03:add(oMenu0303)  
    
    // cria os botões que receberão os menus
  
    oButton1 := tButton():create(oParent)
 
    oButton1:cCaption := "Button 01"
  
    oButton1:nWidth   := 100
  
    oButton1:nTop     := 30
 
    oButton1:nLeft    := 10 
   
:=
 
10
oButton1:bAction  := {|| }
  
    oButton1:setPopupMenu(oMenu01)
  
    oButton2 := tButton():create(oParent)
 
    oButton2:cCaption := "Button 02"
  
    oButton2:nWidth   := 100
  
    oButton2:nTop     := oButton1:nBottom + 10
  
    oButton2:nLeft    := 10
 
    oButton2:bAction  :
= {|| }
= {|| }  
    oButton2:setPopupMenu(oMenu02)
  
    oButton3 := tButton():create(oParent)
 
    oButton3:cCaption := "Button 03"
  
    oButton3:nWidth   := 100
  
    oButton3:nTop     := oButton2:nBottom + 10
  
    oButton3:nLeft    := 10
 
    oButton3:bAction  := {|| }
  
    oButton3:setPopupMenu
(oMenu03)returnstatic
(oMenu03)
  return
  
  static function exemplob(oParent)
    local oMenu := 
nillocal
nil
    local oMenu01 := nil, oMenu0101 := nil, oMenu0102 := nil, oMenu0103 := nil 
    local oMenu02 := nil, oMenu0201 := nil, oMenu0202 := nil, oMenu0203 := nil 
    local oMenu03 := nil, oMenu0301 := nil, oMenu0302 := nil, oMenu0303 := nil 
    local oSubMenu := nil
 
    oMenu := tMenu():new(0, 0, 0, 0, .F., "", oParent)
    
    // cria os submenus utilizando o construtor new
 
    oMenu01 := tMenuItem():new(oMenu, "Menu 01"
)
)
    
    // cria os submenus utilizando o construtor new2
  
    oMenu02 := tMenuItem():new2(oMenu, "Menu 02")
 
    oMenu03 := tMenuItem():new2(oMenu, "Menu 03")
    
    // cria os itens dos submenus utilizando o construtor new2
  
    oMenu0101 := tMenuItem():new(oMenu01, "Menu 01, item 01", , , , {|| })
  
    
    // cria um subitem de um submenu
    
    oSubMenu := tMenuItem():new(oMenu0101, "SubMenu 01, item 01", , , , {||msgInfo("SubMenu 01, item 01"
)})
)}) 
    
    // adiciona o subitem do submenu
    
    oMenu0101:add(oSubMenu)
 
    oMenu0102 := tMenuItem():new2(oMenu01, "Menu 01, item 02", , , {||msgInfo("Menu 01, item 02")})
 
    oMenu0103 := tMenuItem():new2(oMenu01, "Menu 01, item 03", , .F., {||msgInfo("Menu 01, item 03")})
  
    oMenu0201 := tMenuItem():new2(oMenu02, "Menu 02, item 01", , , {||msgInfo("Menu 02, item 01")})
 
    oMenu0202 := tMenuItem():new2(oMenu02, "Menu 02, item 02", , , {||msgInfo("Menu 02, item 02")})
 
    oMenu0203 := tMenuItem():new2(oMenu02, "Menu 02, item 03", , , {||msgInfo("Menu
02, item 03")})
 02, item 03")})
    
    // cria os itens dos submenus utilizando o construtor new
 
    oMenu0301 := tMenuItem():new(oMenu03, "Menu 03, item 01", , , , {||msgInfo("Menu 03, item 01")})
  
    oMenu0302 := tMenuItem():new(oMenu03, "Menu 03, item 02", , , .F., {||msgInfo("Menu 03, item 02")})
 
    oMenu0303 := tMenuItem():new(oMenu03, "Menu 03, item 03", , , , {||msgInfo("Menu 03, item 03")})
    
    // adiciona os itens dos submenus
 
    oMenu01:add(oMenu0101)
  
    oMenu01:add(oMenu0102)
  
    oMenu01:add
(oMenu0103)
(oMenu0103)  
    oMenu02:add(oMenu0201)
  
    oMenu02:add(oMenu0202)
  
    oMenu02:add(oMenu0203)
  
    oMenu03:add(oMenu0301)
  
    oMenu03:add(oMenu0302)
  
    oMenu03:add(oMenu0303)
    
    // adiciona os submenus ao menu principal
 
    oMenu:add(oMenu01
)
)  
    oMenu:add(oMenu02)
  
    oMenu:add(oMenu03)
returnstatic

  return
  
  static function exemploc(oParent)
    local oMenu :=
nillocal
 nil
    local oMenu01 := nil, oMenu0101 := nil, oMenu0102 := nil, oMenu0103 := nil 
    local oMenu02 := nil, oMenu0201 := nil, oMenu0202 := nil, oMenu0203 := nil 
    local oMenu03 := nil, oMenu0301 := nil, oMenu0302 := nil, oMenu0303 := nil 
    local oSubMenu := nil
  
    oMenu := tMenuBar():new(
oParent)
oParent)
    
    // cria os submenus
 
    oMenu01 := tMenu():new(0, 0, 0, 0, .T., , oMenu)
  
    oMenu02 := tMenu():new(0, 0, 0, 0, .T., , oMenu)
  
    oMenu03 := tMenu():new(0, 0, 0, 0, .T., , oMenu)
  
    // cria os itens dos submenus
 
    oMenu0101 := tMenuItem():new(oMenu01, "Menu 01, item 01", , , , {|| }, , , , , , , , , .T.)
 
    oMenu0102 := tMenuItem():new(oMenu01, "Menu 01, item 02", , , , {||msgInfo("Menu 01, item 02")}, , , , , , , , , .T.)
 
    oMenu0103 := tMenuItem():new(oMenu01, "Menu 01, item 03", , , .F., {||msgInfo("Menu 01, item 03")}, , , , , , , , , .T.)
  
    oMenu0201 := tMenuItem():new(oMenu02, "Menu 02, item 01", , , , {||msgInfo("Menu 02, item 01")}, , , , , , , , , .T.)
 
    oMenu0202 := tMenuItem():new(oMenu02, "Menu 02, item 02", , , , {||msgInfo("Menu 02, item 02")}, , , , , , , , , .T.)
 
    oMenu0203 := tMenuItem():new(oMenu02, "Menu 02, item 03", , , , {||msgInfo("Menu 02, item 03")}, , , , , , , , , .T.)

    oMenu0301 := tMenuItem():new(oMenu03, "Menu 03, item 01", , , , {||msgInfo("Menu 03, item 01")}, , , , , , , , , .T.)

    oMenu0302 := tMenuItem():new(oMenu03, "Menu 03, item 02", , , .F., {||msgInfo("Menu 03, item 02")}, , , , , , , , , .T.)

    oMenu0303 := tMenuItem():new(oMenu03, "Menu 03, item 03", , , , {||msgInfo("Menu 03, item 03")}, , , , , , , , , .T.)
    
    // adiciona os itens dos submenus
 
    oMenu01:add(oMenu0101)
  
    
    // cria 
um subitem de um submenu
um subitem de um submenu    
    oSubMenu := tMenuItem():new(oMenu0101, "SubMenu 01, item 01", , , , {||msgInfo("SubMenu 01, item 01")}, , , , , , , , , .T.)
  
    
    // adiciona o subitem do submenu
    
    oMenu0101:add(oSubMenu)
 
    oMenu01:add(oMenu0102)
  
    oMenu01:add(oMenu0103)
  
    oMenu02:add(oMenu0201)
  
    oMenu02:add(oMenu0202)
  
    oMenu02:add(oMenu0203)
  
    oMenu03:add(oMenu0301)
  
    oMenu03:add(oMenu0302)
  
    oMenu03:add(oMenu0303)
    
    // adiciona os submenus ao menu principal
 
    oMenu:addItem("Menu 01", oMenu01, .T.)
  
    oMenu:addItem("Menu 02", oMenu02, .T.)
  
    oMenu:addItem("Menu 03", oMenu03, .T.)
  return
Exemplo da classe TMenuItem
Image Removed

Resultado do Exemplo

Image Added

Abrangência

Microsiga Protheus 8.11, Microsiga Protheus 11, Protheus 10, TOTVS Application Server 10, ByYou Application Server