有沒有什麼方法可以在不使用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