Á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
  
    
    // cria 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

Resultado do Exemplo

Image Modified

Abrangência

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