一、響應控件或菜單的指令消息
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); //寫入檔案完成後關閉檔案
}
}