리치에디터컨트롤 2.0 사용하기

리치에디터 1.0 뷰를 상속한 뷰 클래스에서 리치에디터 2.0을 사용하고자 할 경우에는 아래와 같이 작업한다.

/* H 파일 */
HINSTANCE m_hinstRichEdit2;
[/CODE]
[CODE]/* CPP 파일 */
CRichEditSampleView::CRichEditSampleView()
{
m_hinstRichEdit2 = LoadLibraryA("RICHED20.DLL");
}

CRichEditSampleView::~CRichEditSampleView()
{
if(m_hinstRichEdit2 != NULL)
FreeLibrary(m_hinstRichEdit2);
}

BOOL CRichEditSampleView::PreCreateWindow(CREATESTRUCT& cs)
{
if(m_hinstRichEdit2)
{
#ifdef UNICODE
m_strClass = "RichEdit20W";
#else
m_strClass = "RichEdit20A";
#endif

/* return CRichEditView::PreCreateWindow(cs); */
if(!CCtrlView::PreCreateWindow(cs))
return FALSE;

cs.lpszName = _T("");
cs.cx = cs.cy = 100; /* necessary to avoid bug with ES_SELECTIONBAR and zero for cx and cy */
cs.style |= WS_CLIPSIBLINGS;

return TRUE;
}

return CRichEditView::PreCreateWindow(cs);
}

void CRichEditSampleView::OnDestroy()
{
CRichEditView::OnDestroy();
COleClientItem* pActiveItem = GetDocument()->GetInPlaceActiveItem(this);
if (pActiveItem != NULL && pActiveItem->GetActiveView() == this)
{
pActiveItem->Deactivate();
ASSERT(GetDocument()->GetInPlaceActiveItem(this) == NULL);
}
}

Related Posts

답글 남기기

이메일 주소는 공개되지 않습니다.