Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > Как вывести BSTR в Win32


Автор: dark_religion 9.9.2007, 15:48
Функция возвращает BSTR нужно вывести текст в окно HWND
TextOutA требует LPCSTR 
но если 
LPCSTR aaa;
BSTR b = "BBB";
aaa = (LPCSTR)b;
aaa будет равно "B" вместо "BBB" как побороть ?

Автор: 586 9.9.2007, 16:12
Цитата(dark_religion @  9.9.2007,  16:48 Найти цитируемый пост)
TextOutA 

чем TextOutW не устраивает

если конвертировать из Unicode в ANSI, то поиск по форуму WideCharToMultiByte
http://forum.vingrad.ru/forum/topic-38259/hl/widechartomultibyte/index.html

Автор: W4FhLF 9.9.2007, 16:13
http://msdn2.microsoft.com/en-us/library/ms221069.aspx

Автор: dark_religion 9.9.2007, 17:13
немогу разобратся.. пожалуйста помогите. Как вывести значение которое возвращает вот эта фунткция...
 VARIANT vtProp;
 vtProp.bstrVal;
Она возвращает переменнуют типа BSTR. Неужели так сложно написать 2 строчки? Если кто знает как это сделать помогите пожалуйста.

Автор: NiJazz 10.9.2007, 11:43
dark_religion, есть класс, кажется, _bstr_t. Все преобразования делает автоматически. Очень удобно.
Код

VARIANT vtProp;
_bstr_t str = vtProp.bstrVal;

Затем str используй для вывода.

Автор: dark_religion 10.9.2007, 14:24
Это понятно. вопрос в другом был. Как потом этот str вывести в окно... на позиции (x,y)= (0,0) например.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)