ÿþuse "xcontrol.vframe.vbusiness.vd" use "xbase.vframe.vbusiness.vd" unit trade [ class ProductPictureView3 : public frame { imageview im; string CategoryID; xml doc; int m_winHwnd; int ParentHWND; int hiddenBox(string name, bool f) { //xnode anode = GetAgentNode(name); xnode anode = GetAgentNode(name); int LayerFlow_None=0x00000001; int LayerFlow_UnLayer=0x00000100; int LayerFlow_NS=0x00000004; int LayerFlow_WE=0x00000008; int LayerFlow_Control=0x00000010; if(f) anode.SetLayerFlow(LayerFlow_WE | LayerFlow_Control); else anode.SetLayerFlow(LayerFlow_None | LayerFlow_UnLayer); return 1; } int OnImgDBClicked(ref TNotifyEvent evt,int pr) { ref IMGNNMHDR nmtv = evt.pnmh; string src = nmtv.path; /*if(src.length() > 60) src = src.right(44); else src=src.mid(src.find("Thumbs", 0)+6, 50); */ xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); //arg.AddArg("src","/business/products/chanpin"+src); arg.AddArg("src",src); //win::OpenWindow("dev:xpage[BigPicture.vx]",arg); int h = openUrl("/sale/view/ProductLibrary/xpage/bigpictureview", arg); return 1; xwin x = new xwin; x.setNativePointer(h); m_winHwnd = x.GetHWND(); string sh = doc.GetXml(); int p = cast(sh as int); win32::SendMessage(m_winHwnd, 0x401, p, 0); return 1; } int OnCmdDispatch(string comdid) { if(comdid == "xmSave") { string x=" ".space(256); xutil::OpenDialog(this.GetHWND(),x); if(x == "") return 0; msxml::IXMLDOMElement e= doc.GetXmlDoc().selectSingleNode("ImageList"); msxml::IXMLDOMNodeList nlist = e.SelectNodes("image"); int hCursor = xutil::SetCursorWait(); int s = nlist.length; string result = ""; for(int i=0; i<s; i++) { msxml::IXMLDOMElement xitem = nlist.item(i); string picname = xitem.selectSingleNode("PicPath").text; if(picname == "") continue; string goodsno = xitem.selectSingleNode("GoodsNo").text; string src = picname.mid(26,picname.length()); //trace(picname + "-->" + src + "\r\n"); if(src == "" || src == "/") continue; int openRet = xaserver::DownLoadFile(GetServerUrl(),"/business/products/chanpin/"+src,"",x+"/"+goodsno+".jpg"); if(openRet < 0) { //trace(picname + "-->" + src + "\r\n"); result += goodsno + " "; } } xutil::RestoreCursor(hCursor); if(result != "") alert(result + "\r\nåN N'÷S N}þVGr1Y%!"); else alert("ÝOX[Œ[Õk!"); } else if(comdid == "xmDelete") { int hh = ParentHWND; if(hh > 0) { int nIndex = im.GetSelectIndex(); if(nIndex < 0 || nIndex >= im.GetImageCount()) return 0; im.RemoveImage(nIndex); im.Redraw(); string comd = "Delete:"+nIndex.toString(); win32::SendMessage(hh, 0x401, comd,0); } } return 0; } int OnXCommand(ref TXCommandEvent evt,int p) { return OnCmdDispatch(evt.pStrID); } int OnCombboChange(ref TCommandEvent evt,int lParam) { xcombobox xc = GetControl("precent"); string text = xcombobox::GetLBText(xc.GetId()); int p = text.toInt(); if(p == 0) p = 100; im.Preview(p); return 1; } int OnAttachEvent() { AttachEvent("im1","IMG_LDBCLICK",OnImgDBClicked); AttachEvent("WM_XCOMMAND",OnXCommand); AttachEvent("precent","CBN_SELCHANGE",OnCombboChange); } int init() { xml x=new xml; x.setNativePointer(xml::CreateInstance()); xaserverarg arg=new xaserverarg; if (this.GetParam()) arg = this.GetParam(); else return 0; if(url::get(GetEntityName(1)+"/pref/category/picture/list",arg.GetString(),x)!=1) { trace("xxx",x.GetXml()); return 0; } //trace(arg.GetString()); //trace(x.GetXml()); return 1; } int onload() { im = GetControl("im1"); OnAttachEvent(); ParentHWND = 0; if (this.GetParam()) { xaserverarg arg=new xaserverarg; arg.setNativePointer(arg.CreateInstance()); arg = this.GetParam(); CategoryID=arg.GetArgString("parentID"); string hh = arg.GetArgString("ParentHWND"); ParentHWND = hh.toInt(); string openflag = arg.GetArgString("OpenFlag"); //alert(openflag); if(openflag != "0") hiddenBox("xmDelete", false); //trace(arg.GetString()); xml x=new xml; x.setNativePointer(xml::CreateInstance()); //alert(arg.GetString()); //if(url::get("/sale/data/product/pref/category/picture/list",arg.GetString(),x)!=1) if(url::get("/sale/data/ProductLibrary3/pref/picture/imagelist",arg.GetString(),x)!=1) { trace("xxx",x.GetXml()); return 0; } doc = x; //alert(x.GetXml()); msxml::IXMLDOMElement e= x.GetXmlDoc().selectSingleNode("ImageList"); msxml::IXMLDOMNodeList nlist = e.SelectNodes("image"); int i; int s = nlist.length; for(i=0;i<s;i++) { msxml::IXMLDOMElement xitem = nlist.item(i); string picname = xitem.selectSingleNode("PicPath").text; string goodno = xitem.selectSingleNode("GoodsNo").text; //trace(picname + "\r\n"); if(picname == "/business/products/Thumbs//") picname = "/business/products/Thumbs/00/00000000-0000-0000-0000-000000000000.jpg"; im.AddImages(picname, goodno); } im.Redraw(); }else { im.AddImages("/business/products/chanpin/BL-002/291679.jpg", "x1"); im.AddImages("/business/products/chanpin/BL-002/291759.jpg", "x2"); im.AddImages("/business/products/chanpin/BL-002/417884.jpg", "x3"); im.Redraw(); } win32::SetFocus(im.GetId()); string userno = xaserver::GetUserNo(); /*if(userno == "1003" || userno == "1137" || userno == "admin") { //hiddenBox(); } else { hiddenBox("xmSave", false); }*/ hiddenBox("xmSave", false); return -1; } }; ]