_T("Error loading Scintilla"), MB_OK | MB_ICONERROR);
}
…
return TRUE;
};
int CEasyEditApp::ExitInstance()
{
// TODO: 在此添加专用代码和/或调用基类
if (m_hmodule)
{
FreeLibrary(m_hmodule);
}
return CWinApp::ExitInstance();
}
然后,在CEasyEditView中,增加WM_PAINT消息处理函数void OnPaint(),并在BOOL PreCreateWindow(CREATESTRUCT& cs)和void OnPaint()函数中增加代码:
BOOL CEasyEditView::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: 在此处通过修改
// CREATESTRUCT cs 来修改窗口类或样式
cs.lpszClass = _T("Scintilla");
return CView::PreCreateWindow(cs);
}
void CEasyEditView::OnPaint()
{
// CPaintDC dc(this); // device context for painting
// TODO: 在此处添加消息处理程序代码
// 不为绘图消息调用CView::OnPaint()
Default();
}
这样,Scintilla控件就已经集成到View中了。
为了处理Scintilla控件发送的事件通知,在CChildFrame中,增加WM_NOTIFY消息处理函数BOOL OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult):
BOOL CChildFrame::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult)
{
// TODO: 在此添加专用代码和/或调用基类
SCNotification *pSCNotification = (SCNotification*)lParam;
CEasyEditView *pView = (CEasyEditView*)GetActiveView();
switch (pSCNotification->nmhdr.code)
{
…
}
return CMDIChildWnd::OnNotify(wParam, lParam, pResult);
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-53178-3.html