Recent Questions
Q: I have an HTML application with 4 iframes. The main html file contains 3 iframes (top toolbar, left toolbar, and main area) and the menu. The main area iframe contains one additional iframe were the actual data is. When I interact with the data in this last iframe and try to dynamically change the menu in the .html file I get the error message: 'm' is null or not an object
The API call is:
dm_ext_addItem(0, 0, ["test1", "testlink.htm", "", "", "test1m", "_blank", "1"]);
I only have one menu.
I am using IE6
I included these files in both the hta file and the iframe source file.
<script type="text/javascript" src="./data.files/dmenu.js"></script>
<script type="text/javascript" src="./data.files/dmenu_dyn.js"></script>
<script type="text/javascript" src="./data.files/dmenu_key.js"></script>
A: Deluxe Menu doesn't work with <IFrame> objects. It works with<frameset> objects only. All it can to do with <IFrame> is to loadpages into it.
You should use standard installation for the menu (cross-frame mode).
See more info here:
http://deluxe-menu.com/cross-frame-mode-sample.html
http://deluxe-menu.com/data-samples/cross-frame-horizontal-1-sample.htm
There is no need to call dmenu_...js files.
<script type="text/javascript" src="./data.files/dmenu.js"></script>
<script type="text/javascript" src="./data.files/dmenu_dyn.js"></script>
<script type="text/javascript" src="./data.files/dmenu_key.js"></script>
You should write:
<!-- Deluxe Menu -->
<noscript><a href="http://deluxe-menu.com">Javascript Menu by Deluxe-Menu.com</a></noscript>
<script type="text/javascript"> var dmWorkPath = "./data.files/";</script>
<script type="text/javascript" src="./data.files/dmenu.js"></script>
<!-- (c) 2006, http://deluxe-menu.com -->
Q: Is there a way to programmatically close a hover popup via javascript?
A: You can close the popup using the following function:document.getElementById('win').hide();
Unfortunately it won't work if you use iframe as window content.
You open another page in the popup (in Iframe) so you cannot access
document.getElementById('win').hide();
element which is situated on the first page.
When you use text or object_id as window content the content of the popup will be situated
on the same page so you can access document.getElementById('win') element and hide it.
There is a workaround for Iframe.
Use text as content type and add the following code inside popup:
<a onclick="document.getElementById('win').hide();">...</a> <iframe></iframe>Q: Can you please give me tips on how I can style all menuitems to have font bold when selected and normal font when not selected?
A: Unfortunately, Deluxe Tree doesn't have such a feature. You can onlyset it's color. You cannot set the font of menu item bold when selected.
You can set menu item's font bold onMouseover, see example here:
http://deluxe-tree.com/data-templates/vista-style-7-template-sample.html
You should addthe following code in your data file:
function changeFont(obj, over)
{
obj.style.fontWeight = over ? 'bold' : 'normal';
obj.style.fontSize = over ? '13px' : '12px'; // You can not use this line
}
var tmenuItems = [
["<div onMouseOver='changeFont(this, 1)' onMouseOut='changeFont(this, 0)'>Security</div>","", "", "", "", "", "", "", "", ],
["<div onMouseOver='changeFont(this, 1)' onMouseOut='changeFont(this, 0)'>Ease of Access</div>","", "", "", "", "", "", "", "", ],
["|<div onMouseOver='changeFont(this, 1)' onMouseOut='changeFont(this, 0)'>Internet Options</div>","", "", "", "", "", "", "", "", ],
["|<div onMouseOver='changeFont(this, 1)' onMouseOut='changeFont(this, 0)'>Windows Firewall</div>","", "", "", "", "", "", "", "", ],
["<div onMouseOver='changeFont(this, 1)' onMouseOut='changeFont(this, 0)'>Network and Internet</div>","", "", "", "", "", "", "", "", ],
["<div onMouseOver='changeFont(this, 1)' onMouseOut='changeFont(this, 0)'>Hardware</div>","", "", "", "", "", "", "", "", ],
["<div onMouseOver='changeFont(this, 1)' onMouseOut='changeFont(this, 0)'>Programs</div>","", "", "", "", "", "", "", "", ],
["<div onMouseOver='changeFont(this, 1)' onMouseOut='changeFont(this, 0)'>Appearance</div>","", "", "", "", "", "", "", "", ],
["|<div onMouseOver='changeFont(this, 1)' onMouseOut='changeFont(this, 0)'>User Accounts</div>","", "", "", "", "", "", "", "", ],
["|<div onMouseOver='changeFont(this, 1)' onMouseOut='changeFont(this, 0)'>Personalization</div>","", "", "", "", "", "", "", "", ],
["<div onMouseOver='changeFont(this, 1)' onMouseOut='changeFont(this, 0)'>Sound and Speech</div>","", "", "", "", "", "", "", "", ],
["<div onMouseOver='changeFont(this, 1)' onMouseOut='changeFont(this, 0)'>Additional Options</div>","", "", "", "", "", "", "", "", ],
];
Please, notice also that you should add this function every time whenyou change your menu in Deluxe Tuner application, as Tuner deletesthis function.
Q: I have just downloaded your trial version and am trying to use delux tuner using the windows xpstyle template.
I can only seem to get the top button showing as grey but can change colors of submenus in dhtml xml menu.
Am I missing something? ?ow do I get the top button showing the same as submenu buttons.
A: To change submenu colors you should change the following parameters:
var menuBackColor="#F2F3F2";
var itemBackColor=["#F2F3F2","#535353"];
and Individual Submenu Style:
var menuStyles = [
["menuBackColor=#F2F3F2","menuBorderWidth=0","itemSpacing=0","itemPadding=4px","smOrientation=undefined"],
];
For the top items you should change Individual Item style:
var itemStyles = [
["itemHeight=21px","itemBackColor=#F2F3F2,#535353"],
];