2014-11-19 6 views
0

У меня есть объект CListCtrl и я использую:Неожиданный шрифт в CListCtrl?

AddData(m_listControl, 0, 0, " Abc "); 

Это прекрасно работает в старой версии Visual Studio (2008). Однако в Visual Studio 2013 я использую набор символов UNICODE, а на приведенном выше отображает странный шрифт в поле управления списком.

Может кто-нибудь скажет мне, как вставить (AddData или по-другому), чтобы CListCtrl отображал английский набор символов?

ответ

0

Используйте ТЕКСТ («АВТО»). Макрос TEXT() делает строки Unicode или ASCII в зависимости от настроек компилятора.

+0

Hi i486 В этом проблема. Я не могу добавить _T (""), как компилятор жалуется: «Невозможно преобразовать аргумент 4 из« const wchar_t [29] »в« const char * » – user2859884

+0

Кажется, что CListCtrl - это только ANSI/ASCII, а не Unicode, и по этой причине вы получаете ошибка. Как правило, мне не нравится MFC и предпочитаю чистый Win32 API. Вы можете переключить проект на MultiByte (не Unicode) или установить шрифт для CListCtrl. Третий способ - получить HWND для CListCtrl и использовать SendMesssage (hwndCtl, LVM_ * ... для работы с строками Unicode. – i486

+0

BTW, что это за метод AddData? Я не могу найти его в MSDN. – i486

0

Ну, почему вы использовали это название:

"Неожиданный шрифта в CListCtrl?"

Ваша проблема не имеет ничего общего с шрифтом.

Он также не имеет никакого отношения к управлению представлением списка. Это функция AddData, которая затрудняет вам работу.

Я уверен, что в списке параметров четвертый аргумент определяется как const char *. Вам придется изменить подпись функции. Попробуйте LPCTSTR как тип. Чем последует ответ i486.