CDC DrawText & Russian Encoding
От: Darkman_VLT Россия  
Дата: 12.05.06 17:13
Оценка:
Возникла проблема, после того, как переехал на юникод, русские символы перестали выводится на печать.
печатаю так:
void Manager::OnPrint(CDC* dc, CPrintInfo* Info)
{
    int oldDC=dc->SaveDC();
    LOGFONT lf;
    CFont fntTitle;
    ZeroMemory(&lf, sizeof(lf));
    lf.lfCharSet = RUSSIAN_CHARSET;
    wcscpy(lf.lfFaceName,L"Impact");
    lf.lfHeight = -MulDiv(14, GetDeviceCaps(dc->GetSafeHdc(), LOGPIXELSY), 72);
    fntTitle.CreateFontIndirect(&lf);
        dc->DrawText(L"Русский текст", &DrawRect, DT_WORDBREAK | DT_RIGHT);
    dc->RestoreDC(oldDC);
}
Re: CDC DrawText & Russian Encoding
От: sraider http://dvinogradov.blogspot.com
Дата: 12.05.06 18:16
Оценка:
D_V> LOGFONT lf;
D_V> CFont fntTitle;
D_V> ZeroMemory(&lf, sizeof(lf));
D_V> lf.lfCharSet = RUSSIAN_CHARSET;

попробуй DEFAULT_CHARSET
Re[2]: CDC DrawText & Russian Encoding
От: Darkman_VLT Россия  
Дата: 12.05.06 18:44
Оценка:
Здравствуйте, sraider, Вы писали:

D_V>> LOGFONT lf;

D_V>> CFont fntTitle;
D_V>> ZeroMemory(&lf, sizeof(lf));
D_V>> lf.lfCharSet = RUSSIAN_CHARSET;

S>попробуй DEFAULT_CHARSET

Приколы студии, пересобрал проект — помогло.
Re: CDC DrawText & Russian Encoding
От: migel  
Дата: 12.05.06 18:57
Оценка:
Здравствуйте, Darkman_VLT, Вы писали:

D_V>Возникла проблема, после того, как переехал на юникод, русские символы перестали выводится на печать.

D_V>печатаю так:
D_V>
D_V>void Manager::OnPrint(CDC* dc, CPrintInfo* Info)
D_V>{
D_V>    int oldDC=dc->SaveDC();
D_V>    LOGFONT lf;
D_V>    CFont fntTitle;
D_V>    ZeroMemory(&lf, sizeof(lf));
D_V>    lf.lfCharSet = RUSSIAN_CHARSET; // для юникода неважно :-)
D_V>    wcscpy(lf.lfFaceName,L"Impact");
D_V>    lf.lfHeight = -MulDiv(14, GetDeviceCaps(dc->GetSafeHdc(), LOGPIXELSY), 72);
D_V>    fntTitle.CreateFontIndirect(&lf);
        dc->>DrawText(L"Русский текст", &DrawRect, DT_WORDBREAK | DT_RIGHT);
// Вот это по хорошему не работает
// Для правильного юникода используй строки считанные из ресурсов.
    dc->>RestoreDC(oldDC);
D_V>}
D_V>
Re[2]: CDC DrawText & Russian Encoding
От: Darkman_VLT Россия  
Дата: 14.05.06 22:02
Оценка:
Здравствуйте, migel, Вы писали:

dc->>>DrawText(L"Русский текст", &DrawRect, DT_WORDBREAK | DT_RIGHT);

M>// Вот это по хорошему не работает
M>// Для правильного юникода используй строки считанные из ресурсов.
А есть разница в том, откуда вычитывать или message table or string table?
Re[3]: CDC DrawText & Russian Encoding
От: migel  
Дата: 15.05.06 07:29
Оценка:
Здравствуйте, Darkman_VLT, Вы писали:

D_V>Здравствуйте, migel, Вы писали:


dc->>>>DrawText(L"Русский текст", &DrawRect, DT_WORDBREAK | DT_RIGHT);

M>>// Вот это по хорошему не работает
M>>// Для правильного юникода используй строки считанные из ресурсов.
D_V>А есть разница в том, откуда вычитывать или message table or string table?
В ресурсах по определению лежит юникод.
В мsg файлах тоже .
... << RSDN@Home 1.2.0 alpha rev. 644>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.