我正在使用Smartclient,v 8.2(LGPL)。
我有一个打开菜单的菜单按钮。按钮右对齐。问题是当显示菜单时;菜单的左侧与按钮的左侧对齐,并且没有用于呈现菜单的空间。结果,当我单击菜单按钮时,页面会变宽(出现水平滚动条),以便为呈现菜单腾出空间。当菜单隐藏时,页面将恢复为正常大小。
有什么办法可以避免这种情况吗?我想要的是菜单的右侧与按钮的右侧对齐。
我尝试使用菜单的 align
属性,但无论我使用什么值,我总是看到相同的行为。我也设置了overflow= "hidden"
,但仍然是相同的问题。
这是一个小型测试用例:
isc.Menu.create({
ID: "menu",
autoDraw: false,
showShadow: true,
shadowDepth: 10,
overflow: "hidden",
align: "right",
data: [
{title: "New", keyTitle: "Ctrl+N", icon: "icons/16/document_plain_new.png"},
{title: "Open", keyTitle: "Ctrl+O", icon: "icons/16/folder_out.png"},
{isSeparator: true},
{title: "Save", keyTitle: "Ctrl+S", icon: "icons/16/disk_blue.png"},
{title: "Save As", icon: "icons/16/save_as.png"}
]
});
isc.MenuButton.create({
ID: "menuButton",
autoDraw: false,
title: "File",
width: 100,
menu: menu
});
isc.HLayout.create({
width: "100%",
members: [
isc.Canvas.create({
width: "*",
height: 24,
backgroundColor: "lightgray"
}),
menuButton
]
})
我发现了问题:如果showShadow
设置为 true,那么我会看到问题中描述的问题。 删除该属性(默认值为 false)解决了问题:菜单向右对齐,并且没有滚动条出现。