zoukankan      html  css  js  c++  java
  • MFC中计数及文件操作

    ①计数功能,鼠标左键每点击一下,面板上的数字加1,鼠标右键每点击一下,面板上的数字减1.

     

    1.建立一个新的MFC项目,我这里取名为jishu 后来因为要涉及到数据的存储,即把面板上的内容存起来,这与文档类( CJishuDoc)有关,我们把显示的数字变量nCount定义在类CJishuDoc中。找到文件视图中的jishuDoc.h ,双击,在public:  里面定义成员变量 int nCount  然后找到类视图中的CJishuDoc()(构造函数),双击,用初始化表对nCount赋处置,这里设为1,如图。

    2.找到CJishuView里面的OnDrsw(CDC *pDC),双击,在里面写如下代码;

    CString strCount;
    	strCount.Format("计数 %d",pDoc->nCount);
    	pDC->TextOut(20,20,strCount);  //显示出来
    


     

    这时候编译运行,界面上显示  计数1

    3.接下来要实现左键加1,右键减1的功能,在类CJishuView中点击右键,Add Windows Message Handler,选左边的VM_LBUTTONDOWN(左键按下)和VM_LBUTTONDOWN,双击,OK。接下来对它们添加代码,点击CJishuView中的CJishuView(),出现代码界面,向下拉,可以看到void CJishuView::OnLButtonDown(UINT nFlags, CPoint point)

    void CJishuView::OnRButtonDown(UINT nFlags, CPoint point),先对前者写代码。nCount是在文档类中定义的,要在视图类中使用它,涉及到了跨类使用,要使用文档类的指针(下面的*pDoc

    CJishuDoc* pDoc = GetDocument();
    	ASSERT_VALID(pDoc);
    	++pDoc->nCount;
    	Invalidate();//刷新
    


     

    这样左键的功能就做好了。在void CJishuView::OnRButtonDown(UINT nFlags, CPoint point)中添加代码

    CJishuDoc* pDoc = GetDocument();
    	ASSERT_VALID(pDoc);
    	--pDoc->nCount;
    	Invalidate();
    


     

    右键的功能也做好了。

    4.编译,运行,点击左键,右键,功能实现。

    ②文件操作

    1.写入和读入数据(nCount

    找到类视图中的CJishuDoc,双击里面的CJishuDoc(),出现代码界面,在里面找到void CJishuDoc::Serialize(CArchive& ar)  序列化函数。

    写入下面代码:

    if (ar.IsStoring())
    	{
    		ar<<nCount;  //写入。点击窗口界面上的保存,就把当前显示的nCount的值保存在文件中
    		// TODO: add storing code here
    	}
    	else
    	{
    		ar>>nCount;  //读入。点击打开,从文件中读入存储的数据,并在屏幕上显示
    		// TODO: add loading code here
    	}
    


    2.点击窗口界面的新建时,实现对nCount 0

    在刚才的代码界面中找到BOOL CJishuDoc::OnNewDocument() 在里面写代码  nCount=0;功能实现。

    3.关闭窗口时,出现提醒,是否保存当前的数据(nCount

    CJishuView里面找到void CJishuView::OnLButtonDown(UINT nFlags, CPoint point),在里面写如下代码:

    pDoc->SetModifiedFlag();      //写在右键函数里也行

  • 相关阅读:
    gdb 调试器的使用
    vi 的基本操作
    Makefile
    gcc
    动态内存分配
    Linux常用命令
    文件基本操作
    linux的启动配置文件(grub)
    Hello IT
    Val简介(来源维基百科)
  • 原文地址:https://www.cnblogs.com/sr1993/p/3697847.html
Copyright © 2011-2022 走看看