ListGrid
ダッシュボード レイアウトに表示されます。ほとんどの場合、通常は を使用して Notes メッセージを表示する必要がありますSC.say()
。
しかし、そのようなメッセージをすべて表示するように独自のキャンバスを設計し、これを親ダッシュボードに配置しました。
Listgrid コンポーネントで何らかのアクションが発生したときにメッセージを表示する必要がある場合。ウィンドウはモーダルに設定されているため、ノート キャンバスは表示されますが、ダッシュボード レイアウトでマスクされます。
Canvas をマスキングせずに表示したいのですが?
マスクなしで Canvas を表示し、ListGrid を表示するにはどうすればよいですか?
![ここに画像の説明を入力][1] これは、ウィンドウが isModal(true) および setModalMask(true) に設定されているときに実際に起こっていることです。オプションであることはわかっていますが、プロジェクトでは必須ですが、今は黄色のキャンバス メッセージが通常の強調表示され、今表示されているマスクではなく表示されます
public class GetMessageDialogBox extends Canvas
{
private GetMessageDialogBox(String messageText)
{
mainLayout = new GetHorizontalLayout("100%", "40", null, 0, 5, null);
btnClose = new GetImgButton(16, 16, "Red_Square_Close.png");
btnClose.setVisible(true);
btnClose.setShowTitle(true);
btnClose.addClickHandler(new ClickHandler()
{
@Override
public void onClick(ClickEvent event)
{
setAnimateTime(1000);
animateMove(10 , Window.getClientHeight());
isVisibleMessageStatus = false;
setVisible(false);
}
});
displayLabel = new GetLabel(messageText,"messageLabelDialogText");
displayLabel.setBackgroundColor("yellow");
displayLabel.setHeight100();
displayLabel.setWidth100();
displayLabel.setValign(VerticalAlignment.CENTER);
mainLayout.addMember(new Canvas(){{
setWidth("50%");
}});
mainLayout.addMember(displayLabel);
mainLayout.addMember(new Canvas(){{
setWidth("20%");
}});
mainLayout.addMember(btnClose);
setParentElement(StaticInfo.mainDashboardLayout);
setVisible(true);
setHeight(40);
setBackgroundColor("yellow");
setBorder("1px solid black");
setLeft(10);
setTop(Window.getClientHeight()-40);
setShowShadow(true);
setShadowOffset(5);
setShadowSoftness(5);
setAnimateTime(100);
timer.schedule(5000);
addChild(mainLayout);
customMask.show();
bringToFront();
show();
}
}
これで、このメッセージ コンポーネントがプレゼンター ファイルで呼び出されます。
customMask.show();
winLoadList.bringToFront();
winLoadList.show();
上記のコードは、マスクを解除して表示する必要があるため、リストグリッドに使用されますが、次のコードでメッセージコンポーネントをマスク解除して表示する必要があるため、メッセージコンポーネントを呼び出すと、3つのブラウザーすべてが異なるo / pを返します。
customMask.show();
GetMessageDialogBox.getInstance(messages.LoadPresenter_NoRecordSelected()).bringToFront();
GetMessageDialogBox.getInstance(messages.LoadPresenter_NoRecordSelected()).show();