yjinf
路人甲
路人甲
  • 注册日期2004-09-20
  • 发帖数47
  • QQ
  • 铜币253枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1386回复:0

VC下用LayerInfo创建临时图层

楼主#
更多 发布于:2004-12-30 10:12
<P>前几天一直在试,今天终于成功了</P>
<P>CMapXLayerInfo LayerInfo;
BOOL b = LayerInfo.CreateDispatch(LayerInfo.GetClsid());</P>
<P>VARIANT ParamVt;
ParamVt.vt = VT_BSTR;
ParamVt.bstrVal = m_strRegionLayerName.AllocSysString();
LayerInfo.AddParameter(_T("name"),ParamVt); // name
LayerInfo.SetType(miLayerInfoTypeTemp); // type</P>
<P>CMapXLayer hideLayer = m_ctrlMapX.GetLayers().Item(m_strRegionLayerHide);</P>
<P>/* VARIANT Fields;
CMapXFields fields;
VARIANT vtLayer;
vtLayer.vt = VT_DISPATCH;
vtLayer.pdispVal = hideLayer.m_lpDispatch;
CMapXDataset ds = m_ctrlMapX.GetDatasets().Add(miDataSetLayer,vtLayer);
fields = ds.GetFields();
Fields.vt = VT_DISPATCH;
Fields.pdispVal = fields.m_lpDispatch;
LayerInfo.AddParameter(_T("Fields"),Fields); */ <A>file://Fields</A></P>
<P>VARIANT features;
CMapXFeatures newFS = hideLayer.AllFeatures().Clone();
features.vt = VT_DISPATCH;
features.pdispVal = newFS.m_lpDispatch;
LayerInfo.AddParameter(_T("FeatureS"),features); // Features</P>
<P>ParamVt.vt = VT_BSTR;
ParamVt.bstrVal = CString("MemTable").AllocSysString();
LayerInfo.AddParameter(_T("TableStorageType"),ParamVt);</P>
<P>CMapXLayers lys = m_ctrlMapX.GetLayers();</P>
<P>CMapXLayer lymem = lys.Add(LayerInfo.m_lpDispatch);

</P>
喜欢0 评分0
游客

返回顶部