Á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

Bloco de código
languagecpp
themeEclipse
titleExemplo 1
linenumberstrue
collapsefalse
  #include "TOTVS.CH"

  User Function TMenuItem()
  

TSrvObject -> TControl -> TMenuItem

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.).  

 

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

 

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.  

 

oObjeto
    (objeto)
  • Retorna o objeto criado.

Add

Adiciona um subitem ao menu.

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

 

NomeTipoDescriçãoObrigatórioReferência
oMenuObjetoIndica o objeto do tipo TMenuItem utilizado para incluir um item ou subitem de menu.  

 

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()

 

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 TMenu()
  local oDialog := 
nillocal
nil
    local oFolder := 
nillocal
nil
    local 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  
 
:=
 
5
  oFolder:nWidth  := oDialog:nClientWidth - 10

  
    oFolder:nHeight := oDialog:nClientHeight - 10

 
    oFolder:AddItem("tButton", .T.)

 
    oFolder:AddItem("tMenu", .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()

return

  return

  static function exemploa(oParent)


    local oMenu := 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.)

  
    
    // 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)  
  

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

 
    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)

return

  return
  
  static function exemplob(oParent)


    local oMenu :
= nil
= 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")
, "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")})


    
    // 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)

  
    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)

return

  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)


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

    
    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

...