VC/MFC中使用RichEdit 要注意的地方

在mfc中使用工具栏里的RichEdit 控件时,应该在对话框构造函数中用AfxInitRichEdit()或者 AfxInitRichEdit2()。放在OnInitDialog()中不起作用,否则的话,程序会运行不起来, 也没有任何编译错误信息。

这俩函数是加载 Riched20.dll(Riched32.dll)的。其中加载动态链接库的方法是需要在头文件stdafx.h或构造函数中用这句代码:

LoadLibrary(_T("RICHED20.DLL")); 或LoadLibrary(_T("RICHED32.DLL"));

 如果要响应Rich Edit控件的OnEnChange事件,需要在OnInitDialog()中添加

//CRichEditCtrl().SetEventMask(ENM_CHANGE);

GetDlgItem(RichEditID)->SetEventMask(ENM_CHANGE);
或者

m_CtrlRichEdit.SetEventMask(ENM_CHANGE);

其中m_CtrlRichEdit是Rich Edit关联的控件变量,非CString或其他变量。

在Edit控件OnEnChange的事件中不要随便用UpdateData(FALSE),因为当输入字符超过256个时,输入焦点会自动跳转到首行第一格。

你可能感兴趣的:(mfc,工具)