Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Проблема с LPCWSTR в MS 2005

548
18 октября 2007 года
Maximillian_Cavalera
157 / / 16.08.2007
Такая ситуация: в 2003-й студии можно написать вот так
 
Код:
char szClassName[ ] = "WindowsApp";
window.lpszClassName = szClassName;
и всё скомпилится нормально.
В 2005-й студии для того чтобы скомпилилось нужно преобразовывать в LPCWSTR, и при этом вместо текста будет что-то непонятное, состоящее из квадратиков. Как можно это устранить?
3
18 октября 2007 года
Green
4.8K / / 20.01.2000
Цитата: Maximillian_Cavalera

Как можно это устранить?


Изучить что такое ASCII и Unicode.
И настоить проект в "настройках проекта", а для получения более детальной инф. воспользоваться поиском по этому форуму.

33K
23 октября 2007 года
yours-tester
1 / / 23.10.2007
typedef struct _WNDCLASSEX {
UINT cbSize;
UINT style;
WNDPROC lpfnWndProc;
int cbClsExtra;
int cbWndExtra;
HANDLE hInstance;
HICON hIcon;
HCURSOR hCursor;
HBRUSH hbrBackground;
LPCTSTR lpszMenuName;
LPCTSTR lpszClassName;
HICON hIconSm;
} WNDCLASSEX;
2.9K
23 октября 2007 года
Ation
96 / / 27.07.2004
Дело в том, что 2005 студия по умолчанию использует юникод (LPWSTR)
, поэтому либо в основных настройках ставишь Use Unicode Character Set. А лучше
LPTSTR szClassName[ ] = TEXT("WindowsApp");
этим ты продоставляешь компилятору самому подставить нужный тип в зависимости от настроек.
для юникода это будет
LPWSTR classname[] = L"tralyalya";
для мультибайтного
LPSTR classname[] = ''tralyalya';
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог