正在加载图片...
第16单元多文档界面程序 设计 CForm view的对话框模板方法与设计一般对话框模板的方法完全相同。 164文本编辑视图 CEditview类是 CView类的派生类,内含一个CEdt对象,具有很强的文字编辑功能 包括剪贴、搜索替换和打印等功能。 CEditview类本身有存放文本的内存,有序列化功能,几乎不用任何编程工作便可成为 个功能相当强大的文本编辑器程序。 如果要对 CEdit view中的CEdt对象进行操作,可使用成员函数: CEdit& CEdit view GetEditCtrl ( const 取得该 CEdit对象 要说明的是, CEdit view类只能编辑长度小于64K的文本文件 「例16-2文本编辑器程序。该程序的功能与 Windows的记事本程序类似,但是一个 MDI程序。 说明:用 AppWizard建立一个MD程序,在第4步设置文件名后缀( File extension) 为“txt”,在第6步将视图类的基类设置为 CEdit view 注意,经上述步骤生成的程序直接编译、联接后就已经是一个可以使用的文本编辑器了 下面步骤仅是为该程序添加一个字体选择对话框 编辑子窗口菜单,在“文件”菜单中添加一个选项“字体”,标识符为 ID FONT,并使 用 Class Wizard在视图类中为其添加相应的消息响应函数 On Font()。 程序:首先在视图类中添加一个字体类的数据成员: public CFont m fontedit 然后编辑 OnFont()函数 void CMy 1504View:: OnFont o CFontDialog dlg LOGFONT logfont f(dlg DoModal( == IDOK) dlg. Get Current Font(&logfont) textcolor=dlg. GetColoro m fontEdit. DeleteObject o m fontEdit. CreateFont Indirect(&logfont GetEditCtrl(. SetFont(&m fontEdit)第 16 单元 多文档界面程序 336 设计 CFormView 的对话框模板方法与设计一般对话框模板的方法完全相同。 16.4 文本编辑视图 CEditView 类是 CView 类的派生类,内含一个 CEdit 对象,具有很强的文字编辑功能, 包括剪贴、搜索替换和打印等功能。 CEditView 类本身有存放文本的内存,有序列化功能,几乎不用任何编程工作便可成为 一个功能相当强大的文本编辑器程序。 如果要对 CEditView 中的 CEdit 对象进行操作,可使用成员函数: CEdit& CEditView::GetEditCtrl()const; 取得该 CEdit 对象。 要说明的是,CEditView 类只能编辑长度小于 64K 的文本文件。 [例 16-2] 文本编辑器程序。该程序的功能与 Windows 的记事本程序类似,但是一个 MDI 程序。 说 明:用 AppWizard 建立一个 MDI 程序,在第 4 步设置文件名后缀(File extension) 为“txt”,在第 6 步将视图类的基类设置为 CEditView。 注意,经上述步骤生成的程序直接编译、联接后就已经是一个可以使用的文本编辑器了。 下面步骤仅是为该程序添加一个字体选择对话框。 编辑子窗口菜单,在“文件”菜单中添加一个选项“字体”,标识符为 ID_FONT,并使 用 ClassWizard 在视图类中为其添加相应的消息响应函数 OnFont()。 程 序:首先在视图类中添加一个字体类的数据成员: public: CFont m_fontEdit; 然后编辑 OnFont()函数: void CMy1504View::OnFont() { CFontDialog dlg; LOGFONT logfont; if(dlg.DoModal() == IDOK) { dlg.GetCurrentFont(&logfont); textcolor = dlg.GetColor(); m_fontEdit.DeleteObject(); m_fontEdit.CreateFontIndirect(&logfont); GetEditCtrl().SetFont(&m_fontEdit);
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有