Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.09.2015, 08:26   #1
taras-proger
Подтвердите свой е-майл
 
Регистрация: 12.11.2014
Сообщений: 470
По умолчанию Как исправить тип параметра для UNICODE?

Прототипы функций
Код:
BOOL GetTextExtentPoint(
  _In_  HDC     hdc,
  _In_  LPCTSTR lpString,
  _In_  int     cbString,
  _Out_ LPSIZE  lpSize
);
,
Код:
BOOL TextOut(
  _In_ HDC     hdc,
  _In_ int     nXStart,
  _In_ int     nYStart,
  _In_ LPCTSTR lpString,
  _In_ int     cchString
);
. А какой тип параметр lpString имеет в GetTextExtentPointW и TextOutW?
taras-proger вне форума Ответить с цитированием
Старый 13.09.2015, 08:56   #2
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,331
По умолчанию

LPWSTR
В чем суть проблемы?
waleri вне форума Ответить с цитированием
Старый 13.09.2015, 09:51   #3
taras-proger
Подтвердите свой е-майл
 
Регистрация: 12.11.2014
Сообщений: 470
По умолчанию

В том, что гугл даёт страницу, где TextOutA и TextOutW описаны, как одна функция.
taras-proger вне форума Ответить с цитированием
Старый 13.09.2015, 09:55   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

А почему должно быть две страницы? По сути это одна и та же функция.
p51x вне форума Ответить с цитированием
Старый 13.09.2015, 10:53   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
TextOutA и TextOutW описаны, как одна функция.
На сколько мне известно в современных виндовсах TextOutA просто вызывает TextOutW с той разницей что сам текст конвертируется с wide.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.09.2015, 21:07   #6
-=ЮрА=-
C/C++ advanced
Пользователь
 
Аватар для -=ЮрА=-
 
Регистрация: 17.11.2011
Сообщений: 17
По умолчанию

taras-proger, а на киберфоруме ну ты такой умный был, дерзил, ссылку прилепил мой какой -=ЮрА=- глупый(теперь ты видишь свои знания?Мне просто смешно читать твои вопросы, ну да ладно снизойду и помогу). Запомни, а лучше заруби на носу когда вначале хедеров стоит деф UNICODE достаточно написать TextOut т.к разработчики уже позаботились чтобы кодер не писал прямых прототипов (те кто пишет прямые прототипы просто делают проекты не портируемые для различных настрое CharSet-а)
Код:
#ifdef UNICODE
#define TextOut  TextOutW
#else
#define TextOut  TextOutA
Передавать в качестве текста для юникода нужно массив wchar_t

Цитата:
На сколько мне известно в современных виндовсах TextOutA просто вызывает TextOutW с той разницей что сам текст конвертируется с wide.
- там дефайном всё разруливается - есть две различные функции с общим дефом, см wingdi.h (и пост выше)
За "хлеб и воду" не работаю

Последний раз редактировалось Stilet; 13.09.2015 в 21:36.
-=ЮрА=- вне форума Ответить с цитированием
Старый 13.09.2015, 23:08   #7
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от -=ЮрА=- Посмотреть сообщение
taras-proger, а на киберфоруме ну ты такой умный был, дерзил, ссылку прилепил мой какой -=ЮрА=- глупый(теперь ты видишь свои знания?Мне просто смешно читать твои вопросы, ну да ладно снизойду и помогу). Запомни, а лучше заруби на носу когда вначале хедеров стоит деф UNICODE достаточно написать TextOut т.к разработчики уже позаботились чтобы кодер не писал прямых прототипов (те кто пишет прямые прототипы просто делают проекты не портируемые для различных настрое CharSet-а)
Код:
#ifdef UNICODE
#define TextOut  TextOutW
#else
#define TextOut  TextOutA
Передавать в качестве текста для юникода нужно массив wchar_t

- там дефайном всё разруливается - есть две различные функции с общим дефом, см wingdi.h (и пост выше)
речь о том когда вызов идет TextOutA, а не о компиляции.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 14.09.2015, 06:26   #8
taras-proger
Подтвердите свой е-майл
 
Регистрация: 12.11.2014
Сообщений: 470
По умолчанию

Цитата:
Сообщение от -=ЮрА=- Посмотреть сообщение
taras-proger, а на киберфоруме ну ты такой умный был, дерзил, ссылку прилепил мой какой -=ЮрА=- глупый(теперь ты видишь свои знания?
Код:
#ifdef UNICODE
#define TextOut  TextOutW
#else
#define TextOut  TextOutA
А ничего, что это я давно знаю? Только как оно поможет импортировать эту функцию без библиотеки импорта? И какое отношение дефайн имени функции имеет к её параметрам?
taras-proger вне форума Ответить с цитированием
Старый 14.09.2015, 06:29   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
как оно поможет импортировать эту функцию без библиотеки импорта?
А библиотека импорта не нужна. Есть MSDN где описаны параметры - его хватит, чтоб описать импорт функции.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.09.2015, 06:35   #10
taras-proger
Подтвердите свой е-майл
 
Регистрация: 12.11.2014
Сообщений: 470
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А библиотека импорта не нужна.
Цитата:
D:\Projects\cpp\MCSP\MCSP\DrawText. cpp|28|undefined reference to `__imp_TextOutW'|
Нужны комментарии?
taras-proger вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как использовать UNICODE функции? dolphin705 Общие вопросы Delphi 6 04.04.2013 00:21
Локализация для Unicode Стремящийся Общие вопросы C/C++ 2 01.08.2012 22:32
Как записать файл UNICODE ? MakTpaxep Общие вопросы C/C++ 0 24.02.2011 17:05
как изменить unicode фаил ? kakawkin Общие вопросы Delphi 3 22.08.2010 12:45
Как исправить компонент TCoolTrayIcon для корректного выведения юникодных символов? SkAndrew Компоненты Delphi 14 20.08.2008 12:55