OpenFolderWin打开目录窗体

2018-02-07 14:50 更新
  • 函数原型


/*
 * 打开目录窗体 
 * @param icoid     目录的icoid 
 * @param treeshow  是否显示左侧目录树 
 * @param feature   目录窗体的特征,默认'titlebutton=close|max|min,width=800,height=500' 
 */
 function OpenFolderWin(icoid,treeshow,feature)
 {        
        if(!treeshow) treeshow=0;  //默认不打开左侧目录树		
        //获取图标数据data,没有数据直接返回	
        var data=_config.sourcedata.icos[icoid];  	
        if(!data) return;  	
        var fid=data.oid;  	
        var topfid=[];  //目录树数组,		
        //根据data.type判断是否为目录类型(目录类型包括'pan','storage','ftp'类型)	
        if(data.type=='shortcut'){ //如果是目录快捷方式时		
        if(data.tdata.type!='folder') return;		 
        fid=data.tdata.oid;		 
        topfid=data.tdata['topfid'];	
        }else{  //必须是目录类型的才能打开		
        if(data.type!='folder' && data.type!='pan' && data.type!='storage' && data.type!='ftp') return;		
        topfid=_ico.getTopFid(fid);	
        }		
        //查找此目录窗体是否已经打开;	
        var win=null;	
        for(var id in _window.windows){
        		var obj=_window.windows[id];		
        		if((obj.type=='folder') && obj.fid==fid){
        					 win=obj;			 
        					 break;
    		        }	
    	}	
    	if(win){ //此目录已经打开			
    	win.treeshow=treeshow;		
    	win.Focus();  //激活此目录,并且最前端显示			
    	}else{ //开始创建目录窗体				
    	        feature=feature?feature:windows['Folder'].features; //如果没有feature,则加载默认的特征		win=_window.OpenFolderWin(icoid,topfid,treeshow,feature); //创建目录窗体,并且加载目录树和此目录内容		
    	        if(!data.havetask || data.havetask>0) _dock.Ctask(icoid,win.id); //创建任务栏图标			}
    	        }


  • 使用注意事项

  1. 被打开的目录的数据(即:_config.sourcedata.icos[icoid])必须已经加载。桌面、任务栏你的图标数据桌面初始化后即完成加载,其他子目录必须其上级目录打开过才会加载其数据。如:想要打开“我的文档”下的目录“我的图片”,必须先打开我的文档(或者先前打开过),才能用此函数打开我的图片目录。

  2. 目录快捷方式可以不受第1条的限制。

  3. 同一icoid的目录不会重复打开。

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号