2016-09-26 4 views
1

내 편집 컨트롤에 CHtmlEditView 클래스를 사용하고 있습니다. 편집 컨트롤에 텍스트를 쓰려고합니다. GetWindowText()은 빈 문자열을 반환합니다. 그 지원은 확실하지 않지만 나에게 어떤 경고도주지 않는다. 나는 IHTMLDocument2 인터페이스를 사용해 텍스트를 얻으려고 시도했다. 텍스트가 있지만 HTML 형식 (텍스트는 <body>)으로되어 있습니다. 그래서 어떻게 CHtmlEditView 컨트롤에서 텍스트를 가져올 지 모르겠습니다. CHtmlEditView 및 해당 기본 클래스의 API 목록을 통해 갔지만 거기에 아무것도 얻지 못했습니다. 어느 누구라도 CHtmlEditView에서 텍스트를 가져 오는 방법을 알 수 있습니까?CHtmlEditView에서 텍스트 가져 오기

답변

2

IHTMLElement::innerText

설정하거나이 객체의 시작과 끝 태그 사이의 텍스트를 검색합니다.

예 :

CHtmlEditView html_edit; 
// or CHtmlEditCtrl html_edit; 
... 

CString getPlainText() 
{ 
    CComPtr<IHTMLDocument2> doc2; 
    html_edit.GetDHtmlDocument(&doc2); 

    CComPtr<IHTMLElement> element; 
    doc2->get_body(&element); 

    CComBSTR bstr; 
    element->get_innerText(&bstr); 
    CString text = bstr; 
    return text; 
} 
+1

'엘리먼트 -이> put_innerText (BSTR)가' –

+0

감사 Barmak, 나는 그것을 시도하고 내 문제를 해결했다. 'CHtmlEditView'에 대한 알림과 같이 'EN_CHANGE'이 (가) 있습니까? 'EN_CHANGE'가있는 'CHtmlEditView'텍스트가 변경되면 알림을받을 수 없습니다. – void

+0

댓글 섹션에서 연속 질문을 할 수 없습니다. 질문에 대한 답변이 있으면 녹색 마크를 확인하여 동의하십시오. –