现在的位置: 首页 > 综合 > 正文

利用VC++开发简单的文本输入工具

2018年06月10日 ⁄ 综合 ⁄ 共 2110字 ⁄ 字号 评论关闭

最近为了实现一个工程的需要,要利用VC写一个简单的文本输入工具,在网上找了很多参考尝试下来都没有一个达到满意的地步,同时也查找了很多资料,但是还是没能有满意的结果,这当然和自己对VC++这个庞大的工具还不胜熟悉有莫大的关系,因此本文写的也略微笨拙,但对于初学者或这是功能要求不是那么严格的同仁来说,本文介绍的方法未必不是一种选择。

在本文本输入程序中首先需要建立一个单文本应用程序,工程的建立并没有什么特别的地方,就是在最后一步的时候学要选择基础类为CFormView,为了叙述的方便我们将工程命名为:SDItest。当然你也可以将它命名为你喜欢的名称。其他的就不赘述了。建好以后第二步是将一个文本编辑框(Edit)拖入到刚才的Form上,尽量将其大小调整为你所满意的尺寸,然后设置属性需要特别选中的属性包括:风格的:Multline,和Want return。至于水平和垂直滚动,如果你需要的话同样的可以将它们选中,这并不时我们问题的核心,我们也不关心这个,这此工作完成以后,你需给添加进来的文本编辑框创建一个成员变量,在我们例子中将这个变量命名为:m_myText 数据类型 CString;同样的你还需要给CSDItestDoc类创建一个公有的成员变量myKeepText,变量类型同样为CString。在这一切完成以后你需要对一下几个函数进行修改:

CSDItestDoc类:

BOOL CSDItestDoc::OnNewDocument()

{

       if (!CDocument::OnNewDocument())

              return FALSE;

 

       // TODO: add reinitialization code here

       // (SDI documents will reuse this document)

    myKeepText="";   //Add by yourself

       return TRUE;

}

void CSDItestDoc::Serialize(CArchive& ar)

{

    CString str;

      

       if (ar.IsStoring())

       {

              // TODO: add storing code here

              str=myKeepText;

              ar.WriteString( str ); // 将字符串集合类对象中文本保存到硬盘

       }

       else

       {

              myKeepText="";

              // TODO: add loading code here

              while ( ar.ReadString( str ) )

              {

                     myKeepText= myKeepText+str; // 将行文本添加到字符串集合类对象中

                     myKeepText=myKeepText+"/r/n";

 

              }           

       

       }

      

}

 

CSDItestView类:

void CSDItestView::OnChangeEdit1()

{

       // TODO: If this is a RICHEDIT control, the control will not

       // send this notification unless you override the CFormView::OnInitDialog()

       // function and call CRichEditCtrl().SetEventMask()

       // with the ENM_CHANGE flag ORed into the mask.

      

       // TODO: Add your control notification handler code here

    CSDItestDoc* pDoc = GetDocument(); // 获取与视图相关联的文档指针

       UpdateData(TRUE);

      

    pDoc->myKeepText= m_myText;

 

      

}

void CSDItestView::OnInitialUpdate()

{

       CFormView::OnInitialUpdate();

       GetParentFrame()->RecalcLayout();

       ResizeParentToFit();

 

   //Add by yourself

     CSDItestDoc* pDoc = GetDocument(); // 获取与视图相关联的文档指针

     m_myText=pDoc->myKeepText;

     UpdateData(false);

 

}

到此一个简单的文本录入工具就完成了!

需要的朋友可以到:

http://download.csdn.net/source/1474756

下载源码!

抱歉!评论已关闭.