
终于出来了!
很简单,只是少了中间的一个步骤:
.NetFramework控件的显示,仍然需要显示到.NetFramework的窗体上,所以设置它mapXtreme控件的父窗口就行了:
BOOLCmapx2008_testDlg::OnInitDialog()
{
...

Globals::m_mapCtrl=gcnewMapInfo::Windows::Controls::MapControl();
Globals::m_mapCtrl->CreateControl();
Globals::m_mapCtrl->Show();
//产生.NetFramework窗口
System::Windows::Forms::Form^frm=gcnewSystem::Windows::Forms::Form();
frm->Show();

frm->Text=TEXT("mapXtremeinvc++");//设置.NetFramework窗口的标题
Globals::m_mapCtrl->Parent=frm;//这里设置控件的父窗口
Globals::m_mapCtrl->Dock=System::Windows::Forms::DockStyle::Fill;
MapInfo::Mapping::MapLoader^mapLoader=MapInfo::Mapping::MapLoader::CreateFromFile(TEXT("F:/maps/MyPlace.GST"));
Globals::m_mapCtrl->Map->Load(mapLoader);
}
这样可以显示出来,但是有一个问题,没有办法设置.NetFramework窗口frm的父窗口为主窗口的子窗口,这样就没有办法把地图嵌入到程序的界面中,只能浮动,这样显然是不能满足大多数需要的
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-28110-1.html
我家少时欧尼