1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134
| ' Define menu items
Const sMenuItems = "Imprimantes,Info"
' Define one submenu constant for each menu item as illustrated below
' Each is a comma separated list in a single string
Const sImprimantes = "32Bits,1,2,3,4,5,64Bits,1...."
Const sInfo = "Aide, Propos, Quitter"
Const sHTML = " #sItem# "
Dim dMenus, sMenuOpen
sub Window_onload
Dim entry
set dMenus = createObject("Scripting.Dictionary")
for each entry in Split(sMenuItems, ",")
menu.innerHTML = menu.innerHTML & " <span id=" & entry _
& " style='padding-bottom:2px' onselectstart=cancelEvent> " _
& entry & " </span> "
dMenus.Add entry, Split(eval("s" & entry), ",")
next
sMenuOpen = ""
end sub
Sub menu_onmouseover
clearmenu
with window.event.srcElement
if .parentElement.ID = "menu" then
.style.border = "thin outset"
.style.cursor = "arrow"
end if
end with
end sub
Sub menu_onmouseout
with window.event.srcElement
.style.border = "none"
.style.cursor = "default"
end with ' srcElement
end sub
Sub dropmenu_onmouseover
with window.event
.srcElement.style.cursor = "arrow"
.cancelbubble = true
.returnvalue = false
end with
end sub
sub SubMenuOver
with window.event.srcElement
if .ID = "dropmenu" then exit sub
.style.backgroundcolor = "darkblue"
.style.color = "white"
.style.cursor = "arrow"
end with
end sub
sub SubMenuOut
with window.event.srcElement
.style.backgroundcolor = "lightgrey"
.style.color = "black"
.style.cursor = "default"
end with
end sub
Sub menu_onclick
Dim oEL, oItem
if sMenuOpen <> "" then exit sub
with window.event.srcElement
if .ID <> "menu" then
.style.border = "thin inset"
nLeft = .offsetLeft
ntop = .offsetTop + replace(menu.style.Height, "px", "") - 5
sMenuOpen = trim(.innertext)
with dropmenu
with .style
.border = "thin outset"
.backgroundcolor = "lightgrey"
.position = "absolute"
.left = nLeft
.top = nTop
.width = "100px"
.zIndex = "101" ' added 28 June 2010
end with ' style
for each sItem in dMenus.Item(sMenuOpen)
set oEL = document.createElement("SPAN")
.appendChild(oEL)
with oEl
.ID = sItem
.style.height = "20px"
.style.width = dropmenu.style.width
.style.zIndex = "102" ' added 28 June 2010
.innerHTML = Replace(sHTML, "#sItem#", trim(sItem))
set .onmouseover = getRef("SubMenuOver")
set .onmouseout = getRef("SubMenuOut")
set .onclick = getRef("SubMenuClick")
set .onselectstart = getRef("cancelEvent")
end with ' child node
set oEL = document.createElement("BR")
.appendChild(oEL)
next
end with ' dropmenu
end if
end with ' srcEement
end sub
sub cancelEvent
window.event.returnValue = false
end sub ' cancelEvent
sub clearmenu
dropmenu.innerHTML = ""
dropmenu.style.border = "none"
dropmenu.style.backgroundcolor = "transparent"
if sMenuOpen <> "" then
document.getElementByID(sMenuOpen).style.border = "none"
sMenuOpen = ""
end if
end sub |