CDC를 사용하거나 디스플레이와 링크되어 있지 않은 CDC를 사용하지 않고, 캐릭터 라인의 폭을 픽셀 단위로 취득 할 수있는 방법이 있습니까? 문자열 너비를 검색해야하는 클래스는 CWnd :: GetDC()를 사용하기 위해 CWnd에서 상속하지 않으며 기존 CDC를 함수에 전달할 방법이 없습니다.CDC를 사용하지 않는 MFC 캐릭터의 폭
디스플레이와 연결되지 않은 더미 CDC를 만들려고했지만 MFC가 충돌합니다. 이상적으로는 다음과 같습니다 :
m_font = new CFont();
m_font->CreatePointFont(size * 10, _T("Arial"));
m_tempCDC = new CDC();
m_tempCDC->SelectObject(m_font);
return m_tempCDC->GetOutputTextExtent(_T("Test")).cx;
EDIT : 문자열 리터럴의 글꼴 이름 변수를 대체해야합니다.
글꼴을 알고 있습니까? CFont 객체 m_font? – CD1212