CRichEditCtrl 의 instance 에서 word-wrap (줄바꿈)을 없애려면 SetTargetDevice 함수를 사용해야 한다.
CRichEditCtrl::SetTargetDevice(NULL, 0);
과 같이 하면 줄바꿈이 없어진다. SetWordWrapMode 나 GetWordWrapMode 함수가 있어서 매번 사용할 때마다 혼동하는데 이 함수가 아니라 위의 함수를 사용해야 한다. MSDN의 설명에 따르면 두 번째 인자가 0 인 경우 line-break 가 없어진다고 나와 있다. 하지만 첫 번째 인자를 NULL 로 하는 것이 어떤 의미인지는 설명이 안 나와 있다. 아마도 현재 설정되어 있는 것을 변경시키지 않는다는 의미일 듯 한데 정확하진 않고 어쨌든 저렇게 호출하면 줄바꿈을 없앨 수 있다.
가끔씩 이 코드를 손보기 때문에 쓸 때마다 SetWordWrapMode 를 해놓고 왜 안되지, 해서 아예 이 곳에 기록해 둔다. 더구나 난 default 로 줄바꿈을 없애기 때문에 OnInitialUpdate 함수와 같은 곳에 한 번 적어 두곤 해서 SetTargetDevice 라는 것을 자꾸 잊어버린다. MSDN 의 설명이 상당히 부실하다, 의외로 이렇게 부실한 항목이 MSDN 에 꽤 있다. CListCtrl 의 report 형식에서 각 cell 마다 색을 달리 해 주는 것도 여전히 설명히 부실해서 많은 것을 추정해서 해야 하고...
'컴퓨터 > MFC_API' 카테고리의 다른 글
작업표시줄에 아이콘 생기지 않게 하기 (0) | 2015.04.21 |
---|---|
CRichEditCtrl 에서 유니코드 표시 (0) | 2014.05.02 |
CRichEditCtrl 에서 바탕색/글자색 설정하기 (0) | 2014.04.10 |
파일 끌어 놓기 구현 (drag & drop)DragAcceptFiles(); (0) | 2014.01.03 |
글자의 크기를 알아 오기 - GetTextExtent (0) | 2013.01.13 |