Cria um objeto do tipo menu/item de menu. 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 Nome | Tipo | Descrição | Obrigatório | Referência | oParent | Objeto | Indica o controle visual onde o objeto será criado. | X | | cTitle | Caracter | Indica o texto do item. | | | cParam3 | Caracter | Compatibilidade. | | | lParam4 | Lógico | Compatibilidade. | | | lActive | Lógico | Indica se, verdadeiro (.T.), o item está ativo; caso contrário, falso (.F.). | | | bAction | Bloco de código | Indica o bloco de código que será executado quando clicar, com o botão esquerdo do mouse, sobre o objeto. | | | cParam7 | Caracter | Compatibilidade. | | | cResName | Caracter | Indica a imagem, do repositório, que será apresentada quando o ponteiro do mouse não estiver posicionado sobre o item. | | | nParam9 | Numérico | Compatibilidade. | | | cParam10 | Caracter | Compatibilidade. | | | lParam11 | Lógico | Compatibilidade. | | | nParam12 | Numérico | Compatibilidade. | | | bParam13 | Bloco de código | Compatibilidade. | | | lParam14 | Lógico | Compatibilidade. | | | lPopup | Lógico | Indica se, verdadeiro (.T.), o item faz parte de um popup; caso contrário, falso (.F.). | | |
oRetorno(objeto)- Retorna o objeto criado.
TMenuItem(): New2 ( [ oParent], [ cTitle], [ cParam3], [ lActive], [ bAction], [ cResName], [ cResHover], [ nClrNoSelect], [ nClrSelect], [ cArrowRightNoSel], [ cArrowRightSel], [ cArrowDownNoSel], [ cArrowDownSel], [ cResSelected], [ cResSelDetail], [ nPosSelDetail], [ lSelected] ) --> oObjeto Nome | Tipo | Descrição | Obrigatório | Referência | oParent | Objeto | Indica a janela ou controle visual onde o objeto será criado. | | | cTitle | Caracter | Indica o texto do item. | | | cParam3 | Caracter | Compatibilidade. | | | lActive | Lógico | Indica se, verdadeiro (.T.), o item está ativo; caso contrário, falso (.F.). | | | bAction | Bloco de código | Indica o bloco de código que será executado quando clicar, com o botão esquerdo do mouse, sobre o objeto. | | | cResName | Caracter | Indica a imagem, do repositório, que será apresentada quando o ponteiro do mouse não estiver posicionado sobre o item. | | | cResHover | Caracter | Indica a imagem, do repositório, que será apresentada quando o ponteiro do mouse estiver posicionado sobre o item. | | | nClrNoSelect | Numérico | Indica a cor do item que não está selecionado. | | | nClrSelect | Numérico | Indica a cor do item quando selecionado. | | | cArrowRightNoSel | Caracter | Indica 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. | | | cArrowRightSel | Caracter | Indica 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. | | | cArrowDownNoSel | Caracter | Indica 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. | | | cArrowDownSel | Caracter | Indica 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. | | | cResSelected | Caractere | Nome do resource a ser usado como fundo quando o item for selecionado (clicado). Disponível apenas em build superior a 7.00.121227P. | | | cResSelDetail | Caractere | Nome 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. | | | nPosSelDetail | Numérico | Có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. | | | lSelected | Lógico | Indica 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.
TMenuItem(): Add ( [ oMenu] ) --> Nome | Tipo | Descrição | Obrigatório | Referência | oMenu | Objeto | Indica 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')} ) TMenuItem(): AddSeparator ( ) --> TMenuItem(): SetActive ( ) --> Propriedade | Descrição | Tipo | aItems | Indica o array que contêm os subitens do tipo TMenuItem. | Vetor | bAction | Indica o bloco de código que será executado quando clicar, com o botão esquerdo do mouse, sobre o objeto. | Bloco de código | lChecked | Indica se, verdadeiro (.T.), o item está com status de verificado. | Lógico | oMenu | Indica o objeto do tipo TMenu utilizado para incluir o menu. | Objeto | lSelected | Indica 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 |