Здравствуйте eva, Вы писали:
eva>Есть необходимость выводить текст в произвольной ориентации.Привожу текст программы:
eva>eva>//m_pMemDC-указатель на контекст
eva>//устройства вывода в памяти.
eva>CString str = "текст";
eva>int scF = ...;//Расчёт угла поворота
eva>HFONT font = ::CreateFont(20,0,scF,0,0,FALSE,FALSE,
eva> FALSE,0,0,0,0,0,NULL);
eva>int oldFont = m_pMemDC->SelectObject(CFont::FromHandle(font));
eva>COLORREF oldCol = m_pMemDC->SetTextColor(RGB(160,80,0));
eva>CPoint pO = ...;//Расчёт координаты вывода
m_pMemDC->>TextOut(p0.x,p0.y,(LPCTSTR)str,str.GetLength());
eva>
eva>Под Windows 2000 всё выводится там где нужно и как нужно. Под Windows 98 выводится где нужно и повёрнут, но цвет светло светло серый и только. Что надо делать в 98-м,что бы выводилось как следует?
I am sorry!
Был приведён не полный текст. Полный текст:
//m_pMemDC-указатель на контекст
//устройства вывода в памяти.
CString str = "текст";
int scF = ...;//Расчёт угла поворота
HFONT font = ::CreateFont(20,0,scF,0,0,FALSE,FALSE,
FALSE,0,0,0,0,0,NULL);
int oldFont = m_pMemDC->SelectObject(CFont::FromHandle(font));
COLORREF oldCol = m_pMemDC->SetTextColor(RGB(160,80,0));
int oldBkMode = m_pMemDC->SetBkMode(TRANSPARENT);
CPoint pO = ...;//Расчёт координаты вывода
m_pMemDC->>TextOut(p0.x,p0.y,(LPCTSTR)str,str.GetLength());
Так в 98-м не работает. А если
int oldBkMode = m_pMemDC->SetBkMode(OPAQUE);
то работает.
Информация в MSDN на эту тему:
MSDN
Knowledge Base
Windows Development
Win32 Software Development Kit
BUG: TrueType Glyphs Wrong Color Rasterized to 8bpp DIBSection