Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Portuguese

Pagetitle
TMenuItem
TMenuItem

Classe: TMenuItem

Cria um objeto do tipo menu/item de menu.

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

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

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