mfc richedit 예제

TEXTRANGE 대신 richedit.h에 정의된 TEXTRANGEW 구조를 사용해야 합니다. 이 구조의 lpstrText 버퍼는 유니코드를 처리하는 LPWSTR(와이드 스트링)입니다. 그러나 EM_GETTEXTRANGE에서 lpstrText를 다시 얻은 후에는 ANSI로 다시 변환해야하므로 MFC와 함께 사용할 수 있습니다! 이렇게 하려면 WideCharToMultiByte()를 사용하여 LPWSTR 버퍼 내용으로 LPSTR 버퍼를 채워야 합니다. 그런 다음 ShellExecute()의 LPSTR 버퍼 콘텐츠를 사용하여 하이퍼링크(예: 기본 웹 브라우저를 열http://)를 기반으로 기본 전자 메일, 웹 브라우저 등 앱을 열 수 있습니다. CRichEditControl50W는 Windows XP와 함께 제공되는 새 음부 문서화msftedit.dll(MSFTEDIT_CLASS 또는 “RichEdit50W” 클래스이름)을 사용하여 CWnd에서 파생된 리치 텍스트 편집 컨트롤 v. 4.1입니다. VC++.NET에서 제공하는 CRichEditCtrl은 이전 v. 3.0 리치 편집 컨트롤(RICHEDIT_CLASS 또는 “RichEdit20W”)만 사용합니다. MFC에서 새 컨트롤을 사용하는 예는 없습니다. 그래서 VS에서 CRichEditCtrl 및 CRichEditView 클래스를 보고 나만의 수업을 만들기로 결정했습니다. 이것은 사소한 운동일 수 있지만 문서의 부족으로 msftedit.dll이 VS.NET 지원되지 않았다는 것을 깨닫기 위해 많은 연구를 수행하거나 CRichEditView 클래스를 지원했습니다. 나는이 엉망을 분류하는 다른 사람을 구할 것이라고 생각했다. 성공하면 0, 그렇지 않으면 0이 아닙니다.

예를 들어 메모리 부족으로 인해 메시지가 실패할 수 있습니다. Windows RichEdit 컨트롤의 마지막 사용 가능한 버전은 4.1입니다. 그러나 MFC 프레임워크는 여전히 이 컨트롤의 이전 버전을 사용합니다. 예를 들어 MFC 6.0은 Visual Studio 2005-2010과 함께 제공된 최신 MFC 버전인 RichEdit 컨트롤 1을 사용하여 RichEdit 컨트롤 2 또는 3을 사용합니다. CRichEditCtrl::GetselectionType에 대 한 예제를 참조 하십시오. 리치 편집 컨트롤(CRichEditCtrl)은 텍스트 서식을 지정하기 위한 프로그래밍 인터페이스를 제공합니다. 그러나 응용 프로그램은 사용자가 서식 지정 작업을 사용할 수 있도록 하는 데 필요한 모든 사용자 인터페이스 구성 요소를 구현 해야 합니다. 즉, 리치 편집 컨트롤은 선택한 텍스트의 문자 또는 단락 특성 변경을 지원합니다. 문자 속성의 몇 가지 예는 굵게, 기울임꼴, 글꼴 패밀리 및 점 크기입니다. 단락 특성의 예로는 선형, 여백 및 탭 중지가 있습니다.