MFC单文档嵌入对话框

因为要实现一个在单文档中嵌入对话框的界面,自己愚钝,在网上查找了很多方法都不能实现,后来解决,现记录解决方法,防止后来使用遗忘;

1、添加一个对话框,将对话框的Style设置成Child;

2、添加一个关联该对话框的类CTestDlg,基类为CFormView;

3、在MainFrm.cpp中添加CXXXXDoc.h和CXXXXView.h,注意CXXXXDoc.h应该在CXXXXView.h的前面;

4、在MainFrm.h中添加变量

       public:

                CSplitterWndSplitter;

5、为MainFrm类添加OnCreateClient方法,将方法中的代码都删除;

     

       BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
if (!Splitter.CreateStatic(this, 1, 2))//切割客服区为1行两列
{
return FALSE;
}


if (!Splitter.CreateView(0, 0, RUNTIME_CLASS(CBridgeMeasurementView),CSize(0,0), pContext)){//在第一行第一列展示View视图
return FALSE;
}


if (!Splitter.CreateView(0, 1, RUNTIME_CLASS(CTestDlg),CSize(0,0), pContext)){//在第一行第二列展示我们添加的对话框
return FALSE;
}
CRect rc;
GetClientRect(&rc);//获取客户区的大小
int width;
width = r.Width()+200;//设置显示对话框的区域大小
Splitter.SetColumnInfo( 0, width , 0 );
Splitter.RecalcLayout();
return TRUE;
//return CFrameWnd::OnCreateClient(lpcs, pContext);
}


到此就可以在单文档中显示对话框了,如有什么错误,请大家指正,谢谢!


  • 6
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
要将MFC地图嵌入软件中,您可以按照以下步骤操作: 1. 获取地图API:首先,您需要选择一个地图API供应商,例如百度地图API、高德地图API或Google地图API。注册一个开发者账号,获取API密钥。 2. 创建MFC应用程序:在Visual Studio中创建一个MFC应用程序项目。确保项目已配置为使用合适的字符集和架构。 3. 导入地图API库文件:将所选地图API的库文件导入到项目中。根据地图API提供的文档,将其库文件添加到项目中的附加依赖项中。 4. 嵌入地图控件:在MFC应用程序对话框添加一个控件,该控件将用于显示地图。根据所选地图API的文档,将其地图控件添加对话框模板中。 5. 初始化地图:在应用程序的初始化过程中,使用API密钥初始化地图控件。根据所选地图API的文档,使用相应的函数或方法调用完成初始化。 6. 设置地图属性:根据自己的需求,设置地图的初始位置、缩放级别、样式等属性。可以使用API提供的函数或方法来实现。 7. 添加地图功能:根据需要,添加更多地图功能,如地理编码、路径规划、标记点等。根据所选地图API的文档,使用相应的函数或方法来实现这些功能。 8. 编译和运行:完成以上步骤后,编译并运行应用程序。您将能够看到嵌入MFC应用程序中的地图控件,并且可以根据您的设定在地图上显示相应的数据和功能。 以上是嵌入MFC地图的简要步骤,根据所选地图API的不同,具体步骤和实现方式可能会有所差异。建议您查阅所选地图API的官方文档以获得更详细的指导和示例代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值