使用MFC/VS2010制作一个简易记事本程序
工具/原料
电脑一台安装VS2010(其他版本也可以大同小异)
熟悉MFC的:Edit、Menu、CDialogFile、CFile、Dialog
方法/步骤
1、新建一个基于对话框的程序项目名NotePad:应用程序类型:基于对话框。不使用Unicode库。在静态库中使用MFC。设置如下红色方框需修改,其他的默认即可
2、对话框界面设计:删除对话框中的所有控件,添加一个编辑丸泸尺鸢框(EditControl)MutiLine(多行)设置牾肟甘道为true,VerticalScroll(垂直滚动)设置为true,WantReturn(允许回车换行)设置为true,拉大的整个对话框。如何下所示
3、菜单栏新建:资源试图-NotePad.rc-右键-添加资源-Menu-新建,如下所示。
4、菜单栏设计:依次键入:文件-打开-保存并分别修改打开ID为ID_OPEN,保存ID为ID_SAVE。并菜单项及ID设置如下图所示。
5、对话框关联菜单:在对话框属性也将Menu属性设置为刚新建的菜单。如下图所示
6、为打开、保存添加消息响应函数:项目-类向导-命令-输入ID_OPEN-选中ID_OPEN-添加处理程序(A)-确定。如下图所示。
7、编辑消息响应函数:在刚才的类向导对话框中点击编辑代码进入代码编辑如下图所示。
8、添加代码打开文件代码: CFileDialogdlg(隋茚粟胫true,0,0,6UL,_T("文本文件|*.txt|所有文件|*.*匀舶热圾||")); if(IDCANCEL==dlg.DoModal()) return; CStringstrPathName=dlg.GetPathName(); CFilefile; if(!file.Open(strPathName,CFile::modeRead)) { MessageBox(_T("打开文件失败"),_T("提示"),MB_OK); return; } DWORDlength=file.GetLength()+1; char*Buf=newchar[length]; file.Read(Buf,length); SetDlgItemText(IDC_EDIT1,Buf); file.Close(); delete[]Buf;
9、添加保存代码:CFileDialogdlg(false巳呀屋饔,_T("*.text"),_T("NotePad"),6UL,_T("文本文件匀舶热圾|*.txt|所有文件|*.*||")); if(IDCANCEL==dlg.DoModal()) return; CStringstrPathName=dlg.GetPathName(); CFilefile; if(!file.Open(strPathName,CFile::modeCreate|CFile::modeReadWrite)) { MessageBox(_T("保存文件失败"),_T("提示"),MB_OK); return; } CStringstr; GetDlgItemText(IDC_EDIT1,str); file.Write(str,str.GetLength()+1); file.Close();
10、编译运行测试:效果如下。