ЮНИКОД «за спиной»
От: vg_123  
Дата: 24.04.04 15:57
Оценка:
Подскажите, пожалуйста.
В коде ниже UNICODE-проекта не делается преобразования строки при помощи MuliByteToWideChar. При копиляции в VC++ 7.0, при дефолтовых региональных настройках Russian XP (eng.) – имеем нормальные русские символы:


LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
…
    switch (message) {
    case WM_PAINT:
        hdc = BeginPaint(hWnd, &ps);
            GetClientRect(hWnd,&Rect);
            DrawText (hdc, _T("Привет") , -1, &Rect,
            DT_SINGLELINE | DT_CENTER | DT_VCENTER); 
        EndPaint(hWnd, &ps);
        break;
…
    default:
        return DefWindowProc(hWnd, message, wParam, lParam);
    }
    return 0;
}



Вопросы:
Как такое возможно? Кто выполняет эти преобразования? Что происходит с памятью, выделенной для строки?

Спасибо.


26.04.04 22:19: Перенесено модератором из 'C/C++' — WH
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.