Smartclient:右侧菜单使页面更宽

时间:2012-08-13 14:28:35

标签: smartclient

我正在使用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
]
})

1 个答案:

答案 0 :(得分:0)

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