MFC在对话框和视图这一块有些泾渭分明,如果一刚开始的项目是对话框,那么如果要点一个按钮,出视图,就比较麻烦了.
具体怎么做呢?
1\新建一个对话框项目.
2\增加一个按钮.
3\再增加一个对话框资源CDialogView. 达到点击按钮可以,点开一个对话框.

void Ctest5Dlg::OnBnClickedButtonTest()
{// TODO: 在此添加控件通知处理程序代码CDialogView dlg;dlg.DoModal();
}

4\然后想办法搞一个view,弄到CDialogView 上.
项目 右键 添加一个MFC类, 基类选CView(其他view类也可以).

CMyView创建成功后,在其OnDraw中加入如下代码:

void CMyView::OnDraw(CDC *pDC)
{CDocument *pDoc = GetDocument();// TODO: 在此添加绘制代码CString str = _T("hello world!");pDC->DrawText(str, CRect(100, 10, 400, 400), DT_SINGLELINE | DT_LEFT | DT_VCENTER);
}

主要是显示,这是个view.

5\ 最后就是想办法,把view弄到Dlg上.

BOOL CDialogView::OnInitDialog()
{CDialogEx::OnInitDialog();// TODO:  在此添加额外的初始化CRect rect;GetClientRect(&rect);myView = new CMyView;if (NULL == myView){return FALSE;}myView->Create(NULL, NULL, WS_VISIBLE | WS_CHILD,rect,this, 123, NULL);myView->ShowWindow(SW_SHOW);return TRUE;  // return TRUE unless you set the focus to a control// 异常: OCX 属性页应返回 FALSE
}

在对话框初始化的过程中,创建view.

效果如下:

案例等下上传,名字就叫"MFC 对话框点击按钮,打开视图"吧.

MFC在dlg当中添加view相关推荐

  1. MFC中的MainFrame Dlg,App,Doc,View的关系

    MFC中的MainFrame Dlg,App,Doc,View的关系 MainFrame: 主框架类 Dlg 是Dialog 的缩写,表示对话框本身 App类就是这个SDI作为"程序&quo ...

  2. MFC应用程序中添加控制台窗口

    在MFC程序中输出调试信息的方法有两种,一种是使用TRACE宏,可以向Output窗口输出调试信息:另一种是用MessageBox,弹出消息框来输出调试信息,但会影响程序的运行. 其实有一种方法可以更 ...

  3. VS2005、VS2010等VS系列IDE在MFC开发过程中,Resource View标签打不开,问题为“opened in other editor”

    问题描述: VS2005.VS2010等VS系列IDE在MFC开发过程中,Resource View标签打不开,问题为"opened in other editor" 可能原因: ...

  4. MFC应用程序中添加控制台窗口---debug输出窗口

    在MFC程序中输出调试信息的方法有两种,一种是使用TRACE宏,可以向Output窗口输出调试信息:另一种是用MessageBox,弹出消息框来输出调试信息,但会影响程序的运行. 其实有一种方法可以更 ...

  5. MFC中dlg.DoModal()返回-1

    今天新加一个登陆对话框,替换主对话框之后居然显示不出来,经查,MFC中dlg.DoModal()返回-1,后来在网上查到各种原因,对比后发现,我可能在对话框上用了 RICHEDIT 控件,然后添加 A ...

  6. 一种无需留坑为页面动态添加View方案

    在Activity或Fragment页面动态添加View,有其应用场景,比如配合运营在首页动态插入H5活动页(如下图手淘的雪花例示[1]),在页面头部插入通知View等.本文结合ActivityLif ...

  7. 在Service中通过WindowManger添加View的方式来把UI界面显示出来

    整体方案 在Service中通过WindowManger添加View的方式来把UI界面显示出来 业务场景 具体场景 IQOO手机,游戏辅助 这种场景能否使用Activity方式来做 使用activit ...

  8. xcode 学习笔记2:动态添加view

    xcode 学习笔记2:动态添加view 2011-07-06 16:48:39|  分类: 计算机学习|字号 订阅 前面说的都是用的Interface Builder来编辑.xib文件来给窗口添加各 ...

  9. Android 利用addView 动态给Activity添加View组件

    本文主要讲述如何动态给UI界面添加布局和控件,在编程的时候很多时候需要动态显示一些内容,在动态添加View的时候,主要使用addView方法. 1. addView方法简介 在Android 中,可以 ...

最新文章

  1. Alphabet量子公司横空出世!Sandbox将与谷歌、DeepMind成姊妹
  2. free崩溃原因2021
  3. [基础算法]通过后缀表达式实现表达式的计算
  4. Oracle创建和管理表
  5. 背景图处理,这是个好东西记录一下
  6. uibot css selector定位,UiBot如何使用CSS Selector
  7. qt5连接sqlite数据库实例
  8. linux mxnet 查询_mxnet c_predict_api的Go绑定实现 – go-mxnet-predi...
  9. QT学习之路十二(基于Windows qt的聊天室)
  10. 计算机专业bs和cs,BS和CS的区别以及各自的优缺点
  11. uchome登陆机制分析(一)
  12. IDEA This inspection performs unresolved SQL references check
  13. Go异常处理——defer、panic、recover
  14. 「电商干货」分销爆单的6个步骤
  15. python计算器程序设计课程报告_20193120 2019-2020-2 《Python程序设计》实验二报告
  16. 51CTO学院三周年-我的rhce7认证之路
  17. 方舟神器/贡品代码大全
  18. 华为的隐藏功能,你们知道多少?
  19. Message中obtain()与recycle()
  20. 写论文时,参考文献怎么引用?

热门文章

  1. HDMI视频画面分割器的优势主要有哪些?
  2. Java替换所有的字符串
  3. 【墨子对战平台】还没连接上墨子推演服务器,再等1秒 解决办法
  4. 2020-11-02 很多人比起穷,更受不了慢慢变富
  5. Gitee Pages Pro + Hexo自定义域名
  6. 【面试题笔记-Java】MySQL数据库、索引、MVCC等知识点(自己整理)
  7. 【雷达与对抗】【2016】76-81GHz平面天线在汽车雷达中的开发与应用
  8. java网络编程案例9-1模拟微信聊天
  9. Nginx 配置示例
  10. 【第12题】一个整数,它加上 100 后是一个完全平方数,再加上 168 又是一个完全平方数