一、响应控件或菜单的命令消息

ON_COMMAND(IDC_BTN_FILE_SAVE, OnFileSave) ;

 

二、声明消息映射函数

afx_msg void OnFileSave();

应用程序框架产生的消息映射函数

其中 afx_msg为消息标志,它向系统声明:有消息映射到函数实现体;

三、将数据写入文本文件

 

   void 某类::OnFileSave()
         {
                BOOL isOpen=FALSE;                 //是否打开(否则为保存) 
                CString defaultDir = L"E:\\FileTest";   //默认打开的文件路径  
                CString fileName = L"test.doc";         //默认打开的文件名
                CString filter = L"txt文本(*.txt)|*.txt||"; ;   //文件过虑的类型   
                //保存文件对话框
                CFileDialog openFileDlg(isOpen, defaultDir, fileName, 
                OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, filter, NULL);                                  
                 INT_PTR result = openFileDlg.DoModal(); 
                 CString filePath;
                 if(result == IDOK)
                 {  
                       filePath = openFileDlg.GetPathName();  
                       FILE *fp;
		       fp=fopen((CT2A)filePath,"w+");//CString转为String                              
                       //格式化写入文本文件
                        fprintf(fp,"#编号 类型   测量   x1   y1   z1	x2   y2   z2	x3   y3   z3\n");
                                数据处理略(见下面实例)……                                                                fprintf(fp,"%d\tlength\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\n",           codeno,distance,x1,y1,z1,x2,y2,z2,0.0f,0.0f,0.0f);                      
                        fprintf(fp,"\n");     
                        fclose(fp);          //写入文件完成后关闭文件              
                 }      
             }