有没有什么方法可以在不使用CDC或使用未与显示器链接的CDC的情况下以像素为单位获取字符串的宽度。需要检索字符串宽度的类不会从CWnd继承以便使用CWnd :: GetDC(),并且无法将现有的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;
编辑:应该用字符串文字替换字体名称变量。
虽然我知道字体,CFont对象m_font? – CD1212