0

我正在使用 Smartclient,v 8.2 (LGPL)。
我有一个可以打开菜单的 MenuButton。按钮右对齐。问题是显示菜单时;菜单的左侧与按钮的左侧对齐,并且没有用于渲染菜单的空间。结果,当我单击菜单按钮时,页面变宽(出现水平滚动条)以便为渲染菜单腾出空间。当菜单被隐藏时,页面恢复正常大小。
有没有办法避免这种情况?我想要的是菜单的右侧与按钮的右侧对齐。
我尝试使用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
]
})
4

1 回答 1

0

我发现了问题:如果showShadow设置为 true,那么我会看到问题中描述的问题。删除该属性(默认为 false)解决了问题:菜单向右对齐,并且没有出现滚动条。

于 2012-08-13T15:29:36.427 回答