Проблема вывода текста в CStatic в ANSI_CHARSET
От: vga  
Дата: 10.01.03 11:22
Оценка:
Hi All.

ПРОБЛЕМА:
Win2000 с русским locale
На диалоговом окне создан Static контрол.
Необходимо вывести текст в Western кодировке (чтобы верхняя (>128) часть символов была НЕ русская).

ДИАГНОЗ: Выводятся в русской кодировке, хоть тресни.
Если же делать контрол CEdit, то все ок.
Установка языка диалоговой панели роли не играет.

УСЛОВИЯ: Корректная работа под Win98, Win2000, WinXP.
Перевести проект в Unicode не предлагать.

ПРИМЕР: кусок текста:

// русские буквы с кодами "\xc4\xe4 \xcf\xef \xd6\xf6 \xdc\xfc \xdf"
SetDlgItemText( IDC_TEXT1,"?? ?? ?? ?? ?" );
m_hFont=(HFONT) SendDlgItemMessage( IDC_TEXT1, WM_GETFONT, 0, 0);
GetObject( m_hFont, sizeof(lf), &lf );
strcpy(lf.lfFaceName,"Verdana");
lf.lfCharSet=ANSI_CHARSET;
m_hFont=CreateFontIndirect(&lf);
SendDlgItemMessage(IDC_TEXT1,WM_SETFONT,(WPARAM)m_hFont, MAKELPARAM(TRUE,0));
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.