Topic: 监听到了CTabItem的关闭事件后,我如何不关闭它?

  Print this page

1.监听到了CTabItem的关闭事件后,我如何不关闭它? Copy to clipboard
Posted by: elliott
Posted on: 2005-01-20 13:12

假如我想做一个界面, 有个CTabItem,有关闭按钮..
我不想要用户关闭这个界面(本来可以不显示关闭按钮),但不有其它副界面须要让用户关闭...所有只有显示了..

我捕捉到这个事件后,如何不关闭他? 就好像不要他做什么事一样.(捕捉到事件后,该怎么让什么事都不做?)

但另外的CTabItem能关闭...

2.Re:监听到了CTabItem的关闭事件后,我如何不关闭它? [Re: elliott] Copy to clipboard
Posted by: kite
Posted on: 2005-01-20 17:44

event.doit = false;

3.Re:监听到了CTabItem的关闭事件后,我如何不关闭它? [Re: elliott] Copy to clipboard
Posted by: elliott
Posted on: 2005-01-20 18:48

两个事件里都没有doit这个成员变量。。。。

    //这个 CTabItem 不能关闭
    tabItemMain.addDisposeListener(new DisposeListener() {

      public void widgetDisposed(DisposeEvent e) {
        e.
      }
    });
    
    //容纳所有 CTabItem 的组件
    tabFolder.addDisposeListener(new DisposeListener() {

      public void widgetDisposed(DisposeEvent e) {
        e.
      }
    
    });

4.Re:监听到了CTabItem的关闭事件后,我如何不关闭它? [Re: elliott] Copy to clipboard
Posted by: kite
Posted on: 2005-01-24 11:00

在CTabFolderEvent中,关闭tabitem的事件不是由item自己管理的,是由CTabFolder管理的,你必须在CTabFolder上添加CTabFolderListener,在listener里检测你不想关闭的item,然后设置event.doit=false即可。如:
tabFolder = new CTabFolder(this,arg1);
    tabFolder.MIN_TAB_WIDTH = 100;
    
    tabFolder.addCTabFolderListener(new CTabFolderAdapter(){
      public void itemClosed(CTabFolderEvent event){
        CTabItem closingItem = (CTabItem)event.item;
        int index = tabFolder.indexOf(closingItem);
        BrowserTab tab = (BrowserTab)tabs.get(index);
        if(!tab.canClose())
          event.doit = false;
      }
    });

5.Re:监听到了CTabItem的关闭事件后,我如何不关闭它? [Re: elliott] Copy to clipboard
Posted by: elliott
Posted on: 2005-01-24 13:13

谢谢kite,搞定了..
.addCTabFolderListener()这个方法在3.0已经不赞成使用了.

用.addCTabFolder2Listener()这个了. 呵呵.

6.Re:监听到了CTabItem的关闭事件后,我如何不关闭它? [Re: elliott] Copy to clipboard
Posted by: elliott
Posted on: 2005-01-26 04:43

tabFolder.addCTabFolder2Listener(new CTabFolder2Adapter() {

      public void close(CTabFolderEvent e) {
        if (e.item == tabItemMain) {
          e.doit = false;
        }
      }
    });


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923