MenuManager menuMgr = new MenuManager();
menuMgr.setRemoveAllWhenShown(true);
menuMgr.addMenuListener(new IMenuListener() {
public void menuAboutToShow(IMenuManager manager) {
manager.add(new Action("删除"){
public void run(){
boolean flag = MessageDialog.openConfirm(parentComposite.getShell(), "确认删除吗?", "你确认要删除吗?");
if(flag){
removeSelectPage();
}
}
});
}
});
final Menu menu = menuMgr.createContextMenu(this);
this.setMenu(menu);
tabFolder.addMenuDetectListener(new MenuDetectListener(){
public void menuDetected(MenuDetectEvent arg0) {
menu.setVisible(true);
}
});
tabFolder.addMouseListener(new MouseAdapter(){
public void mouseDown(MouseEvent mouseevent)
{
TabItem selectItem = tabFolder.getItem(new Point(mouseevent.x,mouseevent.y));
tabFolder.setSelection(selectItem);
}
});
Unfortunately, there is no way to get the bounds of a TabItem on every
platform (specifically, the Mac does not support it). Therefore, at the
lowest level, we can't get what you want.
"Stéphane Fournier" <stephane.fournier@xxxxxxxxxxxxxxx> wrote in message
news:dgdg2j$5p4$1@xxxxxxxxxxxxxxxxxxx
> Hi,
>
> Does anyone know how to set a Popup Menu on a TabItem.
> I found how to set a Menu on the TabFolder but in my case I need a popup
> menu with a content related to the TabItem when right mouse click is
> triggered (the TabItem could not be the selected tabItem for the
TabFolder).
>
> Another way is to get a dynamic content for the Menu set on the
> TabFolder, but I need to listen to an event when mouse is moving over
> the TabItems without selecting them....
> My need is something close to the behavior of the CTabItem when the
> mouse is over a not selected CTabItem ,a cross is displayed to close the
> CTabItem without activating it...
>
> Which event can I listen to ?
>
> Thanks in advance,
> Stephane.