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 に答える