jajaok
路人甲
路人甲
  • 注册日期2004-06-27
  • 发帖数37
  • QQ
  • 铜币197枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:2292回复:6

如何在MFC中实现Legend控件?

楼主#
更多 发布于:2004-12-04 23:14
<P>建了一个显示矢量图的主视窗CMainView,再建了一个显示图例的视窗CLegendView,窗口被切分为两部分,地图在CMainView窗口中能显示,但图例在CLegendView窗口中却怎么也显示不出来.</P>
<P>我的问题是,如何在MFC中实现两个视的调用,必须得通过文档类吗?,另外在Legend该如何初始化?</P>
<P>请高手指点!!</P>
喜欢0 评分0
lixaokui
路人甲
路人甲
  • 注册日期2003-12-25
  • 发帖数768
  • QQ28796446
  • 铜币27枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2004-12-06 08:43
<P>看例子</P>
西门吹血,有了鼓风机,就不用吹啦!
举报 回复(0) 喜欢(0)     评分
lixaokui
路人甲
路人甲
  • 注册日期2003-12-25
  • 发帖数768
  • QQ28796446
  • 铜币27枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2004-12-06 08:44
搜索一下以前的贴
西门吹血,有了鼓风机,就不用吹啦!
举报 回复(0) 喜欢(0)     评分
mao__mao_
路人甲
路人甲
  • 注册日期2004-09-19
  • 发帖数41
  • QQ
  • 铜币219枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2004-12-06 10:11
void CMapView::SetLegend(CMap1 ;map, C_legend ;legend)
{
 LPUNKNOWN pUnknown = map.GetControlUnknown();
 LPDISPATCH pDispatch = 0;
 
 if (pUnknown)
  pUnknown->QueryInterface(IID_IDispatch, (void**);pDispatch);
 
 if (pDispatch)
  legend.setMapSource(;pDispatch);
 
 int pbool = 1;
 legend.LoadLegend(;pbool);
 
 if (pDispatch)
  pDispatch->Release();
}
举报 回复(0) 喜欢(0)     评分
jajaok
路人甲
路人甲
  • 注册日期2004-06-27
  • 发帖数37
  • QQ
  • 铜币197枚
  • 威望0点
  • 贡献值0点
  • 银元0个
4楼#
发布于:2004-12-09 23:27
<P>感谢各位大虾的鼓励和支持!</P><P>楼上大虾给的是Legend初始化的的源码,非常感谢,正用得上.</P><P>另外在主视窗CMainView中显示地图,在CLegendView视窗中显示图例的实现我是这样完成的:通过主文档类CMainDoc调用主视窗CMainView中的地图指针(;m_map)并传递到CLegendView中,并在CLegendview类的OnDraw(CDC *pDC)函数中调用楼上给出的初始化函数SetLegend(CMap1 ;map, C_legend ;legend),就可以实现在CMainView窗口中显示地图,在CLegendView视窗中显示图例.</P><P>如果不通过主文档类CMainDoc调用主视窗CMainView中的地图指针,再传递到CLegendView,而是主视窗CMainView中的地图指针直接传递到CLegendView中,程序不能成功.</P><P>在CLegendview类中,如果不通过OnDraw(CDC *pDC)函数调用初始化函数SetLegend(CMap1 ;map, C_legend ;legend),程序也不能成功.</P><P>
 </P>
举报 回复(0) 喜欢(0)     评分
稻草人1982
路人甲
路人甲
  • 注册日期2005-07-05
  • 发帖数18
  • QQ
  • 铜币164枚
  • 威望0点
  • 贡献值0点
  • 银元0个
5楼#
发布于:2005-07-12 21:23
<img src="images/post/smile/dvbbs/em01.gif" />, 很好的经验啊
举报 回复(0) 喜欢(0)     评分
zj449
路人甲
路人甲
  • 注册日期2004-04-02
  • 发帖数84
  • QQ
  • 铜币180枚
  • 威望0点
  • 贡献值0点
  • 银元0个
6楼#
发布于:2006-07-25 02:40
<P>能否说一下在C#中怎么使用的啊?</P>
举报 回复(0) 喜欢(0)     评分
游客

返回顶部