Árvore de páginas

Versões comparadas

Chave

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

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

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

 

 O método NEW deve ser o utilizado para a criação de menus suspensos, sendo que o método NEW2 não possui em seu construtor o parâmetro lPopup.

 

Parâmetros

 

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], [ cResSelected], [ cResSelDetail], [ nPosSelDetail], [ lSelected] ) --> 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.  
cResSelectedCaractereNome do resource a ser usado como fundo quando o item for selecionado (clicado). Disponível apenas em build superior a 7.00.121227P.  
cResSelDetailCaractereNome do resource a ser usado como detalhe (canto esquerdo ou direito) do item quando estiver selecionado (clicado). O resource pode conter transparência para não sobrepor totalmente o resource de fundo. Disponível apenas em build superior a 7.00.121227P.  
nPosSelDetailNuméricoCódigo da posição em que o resource de detalhe quando selecionado ficará, sendo 0 para esquerda e 1 para direita. Disponível apenas em build superior a 7.00.121227P.  
lSelectedLógicoIndica se este item já vira selecionado por padrão. Disponível apenas em build superior a 7.00.121227P.  

 

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
lSelectedIndica se o item está ou não selecionado. Disponível apenas em build superior a 7.00.121227P.Lógico

 

User Function TMenu()
  local oDialog := nillocal


    oFolder := nillocal


    aFnctns := __funArr()


    aScan(aFnctns, {|x|lower(x[1]) == "tmenuitem"})


    
    // cria a 
janela do teste
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.)

 
    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)

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


    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")})


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

...