The only way to do it reliably is to use a custom XML. If they are independant menus though, it won't work. A custom menu is about setting up a single menu of an interesting shape. I use it to layer the buttons so I can load different elements to the layers, and control the size of the hitboxes (which are actually the menu buttons - i.e. the button set).
I've got a few posts around which provide some samples. This one was a quick find.
viewtopic.php?f=44&t=7741MiRai's guide on making custom templates is a good one.
This is the popup menu slot selector template used in my link above. i.e. the 1 to 6 circle.
- Code:
<ISUI>
<template name='norm.button'>
<Width>96</Width><Height>96</Height><Alpha>1.0</Alpha>
<Border>0</Border>
<BorderColor>FF646464</BorderColor>
<TexturePressed/>
<TextureHover/>
<BackgroundColor>00999999</BackgroundColor>
<OnLoad>
This:SetLeftClickThru[TRUE]
This:SetRightClickThru[TRUE]
</OnLoad>
</template>
<template name='hover.button' template='norm.button' >
<OnLoad>
This:Hide
</OnLoad>
</template>
<Texture>
</Texture>
<template name='clickarea.button' template='MenuMan.Button'>
<Width>76</Width><Height>76</Height><Alpha>1.0</Alpha>
<Border>0</Border>
<BorderColor>FF646464</BorderColor>
<Texture/><TexturePressed/><TextureHover/>
<BackgroundColor>00999999</BackgroundColor>
<OnRightClick>
This:LeftClick
</OnRightClick>
<!--
/*This.Parent.FindChild[hover.${This.Name.Escape}]:Show
This.Parent.FindChild[norm.${This.Name.Escape}]:Hide*/ -->
<OnMouseEnter>
variable string bname
bname:Set[norm.${This.Name.Escape}]
echo ${bname.Escape}
UIElement["${This.Parent.FindChild[${bname.Escape}].ID}"]:SetTexture["<Texture Filename='Scripts/Lotro/Icons/071348-glossy-waxed-wood-icon-alphanumeric-n1-solid-brighter.png' />"]
</OnMouseEnter>
<!-- UIElement["${This.Parent.FindChild[norm.${This.Name.Escape}].UIElementID}"]:SetTexture["<Texture Filename='Scripts/Lotro/Icons/071348-glossy-waxed-wood-icon-alphanumeric-n1-solid.png' />"] -->
<OnMouseExit>
This.Parent.FindChild[hover.${This.Name.Escape}]:Hide
This.Parent.FindChild[norm.${This.Name.Escape}]:Show
</OnMouseExit>
</template>
<template name='one.button' template='norm.button'>
<Texture filename='Scripts/Lotro/Icons/071348-glossy-waxed-wood-icon-alphanumeric-n1-solid.png' />
</template>
<template name='hover.one.button' template='hover.button'>
<Texture filename='Scripts/Lotro/Icons/071348-glossy-waxed-wood-icon-alphanumeric-n1-solid-brighter.png' />
</template>
<template name='two.button' template='norm.button'>
<Texture filename='Scripts/Lotro/Icons/071350-glossy-waxed-wood-icon-alphanumeric-n2-solid.png' />
</template>
<template name='hover.two.button' template='hover.button'>
<Texture filename='Scripts/Lotro/Icons/071350-glossy-waxed-wood-icon-alphanumeric-n2-solid-brighter.png' />
</template>
<template name='three.button' template='norm.button'>
<Texture filename='Scripts/Lotro/Icons/071351-glossy-waxed-wood-icon-alphanumeric-n3-solid.png' />
</template>
<template name='hover.three.button' template='hover.button'>
<Texture filename='Scripts/Lotro/Icons/071351-glossy-waxed-wood-icon-alphanumeric-n3-solid-brighter.png' />
</template>
<template name='four.button' template='norm.button'>
<Texture filename='Scripts/Lotro/Icons/071352-glossy-waxed-wood-icon-alphanumeric-n4-solid.png' />
</template>
<template name='hover.four.button' template='hover.button'>
<Texture filename='Scripts/Lotro/Icons/071352-glossy-waxed-wood-icon-alphanumeric-n4-solid-brighter.png' />
</template>
<template name='five.button' template='norm.button'>
<Texture filename='Scripts/Lotro/Icons/071353-glossy-waxed-wood-icon-alphanumeric-n5-solid.png' />
</template>
<template name='hover.five.button' template='hover.button'>
<Texture filename='Scripts/Lotro/Icons/071353-glossy-waxed-wood-icon-alphanumeric-n5-solid-brighter.png' />
</template>
<template name='six.button' template='norm.button'>
<Texture filename='Scripts/Lotro/Icons/071354-glossy-waxed-wood-icon-alphanumeric-n6-solid.png' />
</template>
<template name='hover.six.button' template='hover.button'>
<Texture filename='Scripts/Lotro/Icons/071354-glossy-waxed-wood-icon-alphanumeric-n6-solid-brighter.png' />
</template>
<Window name='SLOT-SELECT'>
<OnLoad>
echo ${This.GetMetadata[menu].Escape}
echo ${UIElement["SlotNumberPopup"].ID}
;MenuMan.Menus.Element["SlotNumberPopup"]:CenterOnCursor
;Popup:Set[1]
;MenuMan.Menus.Element["${menu_name.Escape}"]:StopGUI[
;UIElement["SlotNumberPopup"]:CenterOnCursor
MenuMan.Menus.Element["${This.GetMetadata[menu].Escape}"]:HideTitleBar:CenterOnCursor
</OnLoad>
<Width>276</Width><Height>304</Height> <!-- height needs to include the ISboxer title bar which is 16 pixels --> <!-- 124 * 12 + 16-->
<!--<Title>${This.GetMetadata[menu].Escape}</Title> -->
<BackgroundColor /> <!--- This needs to be empty to make the window transparent and click through, i.e. I only want the buttons to respond to clicks, not the surrounding area -->
<!-- <Texture filename='' /> this is set via ISBoxer now -->
<Alpha>1.0</Alpha>
<Visible>1</Visible>
<Border>0</Border>
<BorderColor>88FFFFFF</BorderColor>
<Popup>TRUE</Popup>
<StorePosition>0</StorePosition>
<Children>
<Frame Name='buttons'>
<Popup>TRUE</Popup>
<BackgroundColor>00000000</BackgroundColor>
<Border>0</Border>
<Width>100%</Width><Height>100%</Height>
<Children>
<Button name='norm.btn1' template='one.button'>-->
<X>90</X><Y>0</Y>
</Button>
<Button name='hover.btn1' template='hover.one.button'>
<X>90</X><Y>0</Y>
</Button>
<Button name='btn1' template='clickarea.button'>
<X>100</X><Y>10</Y>
</Button>
<Button name='norm.btn2' template='two.button'>
<X>180</X><Y>48</Y>
</Button>
<Button name='hover.btn2' template='hover.two.button'>
<X>180</X><Y>48</Y>
</Button>
<Button name='btn2' template='clickarea.button'>
<X>190</X><Y>58</Y>
</Button>
<Button name='norm.btn3' template='three.button'>
<X>180</X><Y>144</Y>
</Button>
<Button name='hover.btn3' template='hover.three.button'>
<X>180</X><Y>144</Y>
</Button>
<Button name='btn3' template='clickarea.button'>
<X>190</X><Y>154</Y>
</Button>
<Button name='norm.btn4' template='four.button'>
<X>90</X><Y>192</Y>
</Button>
<Button name='hover.btn4' template='hover.four.button'>
<X>90</X><Y>192</Y>
</Button>
<Button name='btn4' template='clickarea.button'>
<X>100</X><Y>202</Y>
</Button>
<Button name='norm.btn5' template='five.button'>
<X>0</X><Y>144</Y>
</Button>
<Button name='hover.btn5' template='hover.five.button'>
<X>0</X><Y>144</Y>
</Button>
<Button name='btn5' template='clickarea.button'>
<X>10</X><Y>154</Y>
</Button>
<Button name='norm.btn6' template='six.button'>
<X>0</X><Y>48</Y>
</Button>
<Button name='hover.btn6' template='hover.six.button'>
<X>0</X><Y>48</Y>
</Button>
<Button name='btn6' template='clickarea.button'>
<X>10</X><Y>58</Y>
</Button>
</Children>
</Frame>
</Children>
</Window>
</ISUI>