智能客户端:菜单右对齐使页面更宽



我正在使用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)解决了问题:菜单向右对齐,并且没有滚动条出现。

最新更新