Вниз
Скачать: CL | DM;

Создаю Static... Получаю иероглифы вместо кириллицы.   Найти похожие ветки 

← →
alxx ©   (2004-02-27 17:45) [0]

Примерно так это происходит:


CREATESTRUCT cs;
cs.dwExStyle = 0; cs.lpszClass = "STATIC";
cs.lpszName = strText; cs.style = WS_CHILD | WS_VISIBLE;
cs.x = x; cs.y = y; cs.cx = nWidth; cs.cy = nHeight;
cs.hwndParent = hWndParent;
cs.hMenu = (HMENU)4545;
cs.hInstance = ghInst; cs.lpCreateParams = NULL;

ghTitle = CreateWindowEx(cs.dwExStyle, cs.lpszClass, s.lpszName,
                      cs.style, cs.x, cs.y, cs.cx, cs.cy,
                      cs.hwndParent, cs.hMenu, cs.hInstance,
                      cs.lpCreateParams);

HFONT hFont = (HFONT)::SendMessage(hWnd, WM_GETFONT, 0, 0);

LOGFONT logFont;
::GetObject(hFont, sizeof(LOGFONT), &logFont);
lstrcpy( (LPSTR)&logFont.lfFaceName, "Courier" );
logFont.lfWeight = FW_SEMIBOLD;
logFont.lfCharSet = RUSSIAN_CHARSET;

::SendMessage(ghTitle, WM_SETFONT, (WPARAM)hFont, TRUE);



Можно как-то это побороть?


← →
alxx ©   (2004-02-27 17:46) [1]

Забыл предпоследнюю строчку вписать:

HFONT hFont = ::CreateFontIndirect(&logFont);


← →
alxx ©   (2004-03-02 10:31) [2]

Удалено модератором
Примечание: Создание пустых сообщений


← →
panov ©   (2004-03-02 10:59) [3]

А если обратить внимание на Unicode?


← →
alxx ©   (2004-03-02 11:03) [4]

Хотелось бы обратить. Надо сделать так:

cs.lpszName = _T("Некоторая строка");

?


← →
alxx ©   (2004-03-02 12:02) [5]

Вроде как она не дает засунуть LPWSTR в cs.lpszName... Типы то разные...


← →
Игорь Шевченко ©   (2004-03-02 13:09) [6]

alxx ©   (02.03.04 12:02)

А посмотреть, как Delphi"йкий TStaticText работает не помогает ?
У него вроде с русским все нормально


← →
alxx ©   (2004-03-02 13:18) [7]

По секрету: мне это надо в VC++... На delphi я бы пожалуй TLabel вставил бы просто...


← →
alxx ©   (2004-03-02 14:08) [8]

Все, нашел проблему. Она была в исходной строке.. :)


← →
Игорь Шевченко ©   (2004-03-02 14:18) [9]

alxx ©   (02.03.04 13:18)


> мне это надо в VC++...


А какая разница? Вызовы API-функций везде одинаковы.

Ты поделись, отчего проблема решилась, другим людям тоже интересно.


← →
alxx ©   (2004-03-02 14:49) [10]

Неверно понял совет... Посмотреть можно было. Но дело оказалось в том, что строка strText читалась из ресурсов, и читалась неверно. Видимо то ли настройка проекта не та, то ли у VC++ проблемы с хранением строк в ресурсе, но это уже другой вопрос :)
А я просто задаю строки не в ресурсах, а прямо в коде и в данном случае меня это устраивает.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.025 c
14-1081695483
Ученик
2004-04-11 18:58
2004.05.02
Задача!


9-1068816464
Stas
2003-11-14 16:27
2004.05.02
Как нарисовать куб используя OpenGl


11-1065608167
Stargazer
2003-10-08 14:16
2004.05.02
JpegObj & FPC


9-1068283809
Thor
2003-11-08 12:30
2004.05.02
ObjectEngine и ParticleEngine в PowerDraw3


1-1081762397
Beglec
2004-04-12 13:33
2004.05.02
Масштаб (Количество 96 точек/дюйм) - а как быть с 120 точками




   Наверх