码运行效果图如下:
本人在网上搜VC制作记事本的源代码时,发现没有VC做的,看来不能偷懒,只能自己来做。至于为什么非得自己做个替代系统的记事本,待我做完再说。本人模仿的是Win2K下的记事本。
首先建立基于类CEditView的单文档的工程Notepad,注意在MFC-AppWizard Step-4的Advanced中设定扩展名为txt。
去掉工具栏(系统记事本里也没有),菜单按照系统的记事本来设计,并且ID用VC自带的设置,如“复制”ID为ID_EDIT_COPY。自己要加入字体的设置:
向CNotepadeView之中添加CFont类型的成员变量m_Font。为WM_CREATE消息添加映射函数。
为记事本视图设置默认字体,代码如下:
CEdit& edit = GetEditCtrl(); //定义指向视图的Cedit控件
if (m_Font。m_hObject == NULL)
{
m_Font。CreatePointFont(120,"Fixedsys");
}
if (m_Font。
m_hObject != NULL)
edit。SetFont (&m_Font);
edit。SetTabStops (16);
//( )
在格式菜单的字体里,使用通用字体对话框CfontDialog类,代码如下:
void CNotepadeView::OnFormatFont()
{
LOGFONT lf;
CFont *font=