技术-MFC实现一个SDI程序,要求

问题描述

MFC实现一个SDI程序,要求

MFC实现一个SDI程序,要求包含一个对话框,输入文字,运用文件读写技术,将文字画在窗体上

解决方案

 新建一个叫CSDIDlgApp的程序

在你的Doc里面加入
public:
    CString text;

void CSDIDlgAppView::OnDraw(CDC* pDC)
{
    CSDIDlgAppDoc* pDoc = GetDocument();
    ASSERT_VALID(pDoc);
    // TODO: add draw code for native data here
    pDC->TextOut(0, 0, pDoc->text);
}

新建一个对话框叫CEditDlg
映射文本框m_text

void CEditDlg::OnOK()
{
    // TODO: Add extra validation here
    this->UpdateData();
    CDialog::OnOK();
}

新建一个菜单
ID_EDITDLG

在Frame中
#include "editdlg.h"
#include "SDIDlgAppDoc.h"

void CMainFrame::OnEditdlg()
{
    // TODO: Add your command handler code here
    CEditDlg dlg;
    if (dlg.DoModal() == IDOK)
    {
        ((CSDIDlgAppDoc *)this->GetActiveDocument())->text = dlg.m_text;
        this->GetActiveDocument()->UpdateAllViews(NULL);
    }
}

void CMainFrame::OnFileSave()
{
    // TODO: Add your command handler code here
    CFileDialog dlg(FALSE);
    dlg.DoModal();
    CFile file(dlg.GetFileName(), CFile::modeCreate | CFile::modeWrite);
    CArchive ar(&file, CArchive::store);
    ar << ((CSDIDlgAppDoc *)this->GetActiveDocument())->text;
}

解决方案二:



新建一个叫CSDIDlgApp的程序

在你的Doc里面加入
public:
CString text;

void CSDIDlgAppView::OnDraw(CDC* pDC)
{
CSDIDlgAppDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
pDC->TextOut(0, 0, pDoc->text);
}

新建一个对话框叫CEditDlg
映射文本框m_text

void CEditDlg::OnOK()
{
// TODO: Add extra validation here
this->UpdateData();
CDialog::OnOK();
}

新建一个菜单
ID_EDITDLG

在Frame中
#include "editdlg.h"
#include "SDIDlgAppDoc.h"

void CMainFrame::OnEditdlg()
{
// TODO: Add your command handler code here
CEditDlg dlg;
if (dlg.DoModal() == IDOK)
{
((CSDIDlgAppDoc *)this->GetActiveDocument())->text = dlg.m_text;
this->GetActiveDocument()->UpdateAllViews(NULL);
}
}

void CMainFrame::OnFileSave()
{
// TODO: Add your command handler code here
CFileDialog dlg(FALSE);
dlg.DoModal();
CFile file(dlg.GetFileName(), CFile::modeCreate | CFile::modeWrite);
CArchive ar(&file, CArchive::store);
ar << ((CSDIDlgAppDoc *)this->GetActiveDocument())->text;
}


时间: 2024-08-02 04:20:51

技术-MFC实现一个SDI程序,要求的相关文章

利用MFC写一个Tcp程序,基于事件选择机制建立一个回射服务器(直接把收到的客户端消息发回给客户端)

问题描述 利用MFC写一个Tcp程序,基于事件选择机制建立一个回射服务器(直接把收到的客户端消息发回给客户端) 刚开始学习window套接字编程,很多东西还不大熟,想请高手帮忙写出这个程序作为我学习相关理论的模板 解决方案 http://pan.baidu.com/s/1hs2hKEg分享给你这个视频教程 跟着视频一步一步做可以做一个局域网聊天室 同时学习mfc编程与socket编程

MFC SDI程序,如何交互式获取用户单击鼠标的坐标?

问题描述 MFC SDI程序,如何交互式获取用户单击鼠标的坐标? 我在用MFC做一个交互式绘图的小程序,工程名称为Draw.我想在CDrawView类中定义一个public成员函数,void CDrawView::GetPoint(CPoint& point),功能是让用户在客户区窗口中点击鼠标选取一点,并返回该点的坐标. 但是问题是,如何在这个函数中等待鼠标单击事件,即等待WM____LBUTTONUP消息触发后,再继续执行函数,保存点的坐标? 解决方案 ctrl+w,调出类向导,映射WM_L

在MFC单文档程序中,如何在子对话框类中访问视类中的一个变量?

问题描述 在MFC单文档程序中,如何在子对话框类中访问视类中的一个变量? 如题,小弟最近遇到一个问题,新建一个单文档程序,并在其中引入对话框资源.我想在视类的OnDraw()函数中通过响应视类的一个变量的变化来改变视类窗口中图形的状态,而该视类变量的变化是由对话框中的一个控件控制的,这个控件是由旋钮控件和编辑控件捆绑而成的.在网上看了一些资料,试了其中的一些方法,都没能成功.论坛中高手众多,想请热心的高手们给个解决方法,在此先谢过了!能给个相似的例子的更好! 解决方案 要么你把那个变量定义成静态

需要用VS 2012 的MFC做一个程序,程序开始之前有个欢迎界面,怎么做啊

问题描述 需要用VS 2012 的MFC做一个程序,程序开始之前有个欢迎界面,怎么做啊 需要用VS 2012 的MFC做一个程序,程序开始之前有个欢迎界面,怎么做啊 解决方案 http://blog.csdn.net/king8902/article/details/8124559http://www.codeproject.com/Articles/35840/Splash-Screen-C-Class-using-MFChttp://wenku.baidu.com/link?url=fgHO

mfc c++-一个在MFC对话框程序的PICTRUE控件中绘图的问题

问题描述 一个在MFC对话框程序的PICTRUE控件中绘图的问题 本人目前正在做一个小程序,用于在数据库中读取某个字段,然后根据读取的结果在Pictrue控件中进行绘图(由一个按钮按下的事件驱动).原理为这般:bool型变量m_bIsDraw (默认为false) 用于判断是否为首次程序,如果是第一次打开则执行在OnPaint()函数中drawCircle(void)函数(用于生成直角坐标系和圆形的底图),然后将m_bIsDraw置为true,按键按下的函数中调用void CfindHistor

字符串混淆技术应用 设计一个字符串混淆程序 可混淆.NET程序集中的字符串

原文:字符串混淆技术应用 设计一个字符串混淆程序 可混淆.NET程序集中的字符串 关于字符串的研究,目前已经有两篇. 原理篇:字符串混淆技术在.NET程序保护中的应用及如何解密被混淆的字符串  实践篇:字符串反混淆实战 Dotfuscator 4.9 字符串加密技术应对策略 今天来讲第三篇,如何应用上面所学内容,设计一个字符串混淆程序. 先设计一个控制台程序,它是将要被我混淆的程序集文件: public static void Main() { try { RunSnippet(); } cat

对一个JAVA程序原来说,掌握那些脚本语言,对技术会有比较大的帮助?

问题描述 如题,对一个JAVA程序原来说,掌握那些脚本语言,对技术会有比较大的帮助? 解决方案 因人因工作而异.如果做做web开发当然是js,但是作为一个程序员shell语言是必须的,之后ruby.python.perl三大脚本至少会一种吧.个人认为从重要性的角度考虑:shell>SQL>javascript>ruby>python or perl解决方案二:sql,shell,js解决方案三:首先要学好java,其次是数据库知识,接着是js,最后是自学设计模式.和一些开源实用的项

一个游戏程序员的学习资料

转自:http://software.intel.com/zh-cn/blogs/2012/03/20/400010004/?cid=sw:prccsdn2194 想起写这篇文章是在看侯杰先生的<深入浅出MFC>时, 突然觉得自己在大学这几年关于游戏编程方面还算是有些心得,因此写出这篇小文,介绍我眼中的游戏程序 员的书单与源代码参考.一则是作为自己今后两年学习目标的备忘录,二来没准对别人也有点参考价值.我的原则是只写自己研究过或准备研究的资料,所以内容无 疑会带上强烈的个人喜好色彩, 比如对网

程序员之路——一个老程序员对刚上大学的学弟学妹的忠告

始终认为,对一个初学者来说,IT界的技术风潮是不可追赶. 我时常看见自己的DDMM们把课本扔了,去买些价格不菲的诸如C#, VB.Net 这样的大部头,这让我感到非常痛心. 而许多搞不清指针是咋回事的BBS站友眉飞色舞的讨论C#里面可以不用指针等等则让我觉得好笑. C#就象当年的ASP 一样,"忽如一夜春风来,千树万树梨花开",结果许多学校的信息学院成了"Web 学院". 96, 97级的不少大学生都去做Web了.当然我没有任何歧视某一行业的意识. 我只是觉得如果他