CButton의 텍스트 너비를 동적으로 조정하려고합니다. MFC에서이 작업을 수행 할 수있는 기본 제공 방법이 있습니까? 아니면 지정된 텍스트의 픽셀 너비를 계산하는 방법 (CWnd::SetWindowPos
을 사용할 수 있도록)이 있습니까?MFC에서 텍스트 너비 가져 오기
5
A
답변
6
CDC::GetTextExtent을 사용하여 특정 글꼴의 텍스트 너비를 계산할 수 있습니다. CWnd::GetDC을 사용하여 텍스트를 표시하는 컨트롤에서 장치 컨텍스트를 가져옵니다.
6
지루합니다. 단추에 CWnd::GetFont()
을 사용하여 사용중인 글꼴을 가져온 다음 CDC
개체에서 표준 글꼴 GetTextText
을 사용하여 해당 글꼴을 선택해야합니다. 그것은 @ demoncodemonkey의 대답에 추가
CClientDC dc(&button);
CFont * pOldFont = dc.SelectObject(button.GetFont());
... dc.GetTextExtent...
dc.SelectObject(pOldFont);
4
같이 보입니다, 당신은 DT_CALCRECT
플래그 CDC::DrawText를 호출 할 수 있습니다. 이렇게하면 텍스트는 그려지지 않지만 함수에 넘겨주는 CRect는 그릴 텍스트의 너비와 높이를 갖게됩니다.
줄 바꿈 (DT_WORDBREAK
플래그 사용)을 사용하여 텍스트를 그리려는 경우 특히 유용합니다. CDC::GetTextExtent
을 사용하여이를 수행 할 수 없습니다.
1
CClientDC hdc(this);
GetRect.SetRect(0,0,iLabelWidth,0);
//
//To get Height of Lable in advance
//
hdc.DrawText(
TempData,
TempData.GetLength(),
GetRect,
DT_CALCRECT | DT_MODIFYSTRING | DT_WORDBREAK
);
관련 문제
- 1. jquery 문서 너비 가져 오기
- 2. Scrollviewer에서 어린이를위한 너비 가져 오기
- 3. VB를 사용하여 Excel 2003으로 고정 너비 텍스트 가져 오기
- 4. 프로그래밍 방식으로 TextView 너비 가져 오기
- 5. 플래시에서 텍스트 가져 오기
- 6. 텍스트 파일 가져 오기
- 7. QListView에서 텍스트 가져 오기
- 8. UITextView에서 텍스트 가져 오기
- 9. EditText에서 텍스트 가져 오기
- 10. 텍스트 가져 오기 사양
- 11. Listview에서 텍스트 가져 오기
- 12. 잘린 표시된 열의 너비 가져 오기
- 13. 다른 클래스의 화면 너비 가져 오기
- 14. 요소 너비 및 높이 가져 오기
- 15. 이미지 가져 오기 높이 및 너비
- 16. Jquery, 오버플로시 div 너비 가져 오기 : 숨김;
- 17. 컨텍스트 메뉴의 아이콘 영역 너비 가져 오기
- 18. 이미지 가져 오기 너비 및 높이
- 19. 오라클에 고정 너비 파일 가져 오기
- 20. Actionscript에서 삽입 태그의 너비/높이 가져 오기
- 21. 텍스트 파일의 MIME 가져 오기
- 22. 누름 단추에서 텍스트 가져 오기
- 23. iPhone - NSURL에서 텍스트 가져 오기
- 24. RadRichTextBox에서 텍스트 값 가져 오기
- 25. 팝업 창에서 텍스트 가져 오기
- 26. IE에서 선택된 텍스트 가져 오기
- 27. 버튼 내부 텍스트 가져 오기
- 28. EventLogEntry.Category에서 범주 텍스트 가져 오기
- 29. 개체의 표시 텍스트 가져 오기
- 30. 텍스트 문서를 HTML로 가져 오기
'GetTextExtent'와'DrawText'는 성능 차이가 있습니까? – Richard