import.css=/download/attachments/6062824/tecnologia.css |
Cria um objeto do tipo menu/item de menu.
#include "TOTVS.CH"
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
|
Microsiga Protheus 8.11, Microsiga Protheus 11, Protheus 10, TOTVS Application Server 10, ByYou Application Server