Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 30, средняя оценка - 4.70
nikon2k
0 / 0 / 0
Регистрация: 08.06.2009
Сообщений: 6
#1

Как с помощью TextOut вывести переменную? - C++

08.06.2009, 01:01. Просмотров 3764. Ответов 35
Метки нет (Все метки)

как с помощью TextOut вывести переменную?


ПС: я не шарю вообще.. с помощью printf, cout не выводится ибо не обычная область а для мини гамесы)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.06.2009, 01:01     Как с помощью TextOut вывести переменную?
Посмотрите здесь:

Как вывести на экран переменную из функции, которой присваиваеться значение через указатель? C++
C++ Как вывести с помощью цикла рисунок?
Объект osteram& или как его вывести в переменную ? C++
Как вывести переменную из цикла for C++
Как вывести переменную вещественного типа в графике? C++
Как задать кодировку для TextOut? C++
C++ Как вывести переменную string через cout?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ISergey
Maniac
Эксперт С++
1347 / 880 / 52
Регистрация: 02.01.2009
Сообщений: 2,645
Записей в блоге: 1
08.06.2009, 01:10     Как с помощью TextOut вывести переменную? #2
Цитата Сообщение от nikon2k Посмотреть сообщение
TextOut
В стандарте такого нет.! что это.
nikon2k
0 / 0 / 0
Регистрация: 08.06.2009
Сообщений: 6
08.06.2009, 01:13  [ТС]     Как с помощью TextOut вывести переменную? #3
из вижуала.. просто в форум для нубов решил написать)
ISergey
Maniac
Эксперт С++
1347 / 880 / 52
Регистрация: 02.01.2009
Сообщений: 2,645
Записей в блоге: 1
08.06.2009, 01:17     Как с помощью TextOut вывести переменную? #4
объясните более корректно то что вы хотите сделать. Я лично ни черта не понял что вы хотите вывести и куда.
nikon2k
0 / 0 / 0
Регистрация: 08.06.2009
Сообщений: 6
08.06.2009, 01:19  [ТС]     Как с помощью TextOut вывести переменную? #5
вывести на Canvas переменную типа int
Search..
Заказ софта
340 / 185 / 10
Регистрация: 26.05.2009
Сообщений: 863
08.06.2009, 01:22     Как с помощью TextOut вывести переменную? #6
nikon2k: Я - Бог Нубии. Все вопросы ко мне)
mirso
524 / 342 / 17
Регистрация: 05.04.2009
Сообщений: 709
08.06.2009, 01:39     Как с помощью TextOut вывести переменную? #7
nikon2k,
Цитата Сообщение от nikon2k Посмотреть сообщение
из вижуала..
TextOut: function does not take 3 arguments
nikon2k
0 / 0 / 0
Регистрация: 08.06.2009
Сообщений: 6
08.06.2009, 01:54  [ТС]     Как с помощью TextOut вывести переменную? #8
Да нееет.. как переменную типа INT вывести посредством TEXTOUT

кусок кода:

C++
1
2
3
CString Cscore;
Cscore=CSpaceAtackDoc.Score;
pDC->TextOut(X, Y, Cscore);
кажет:
C:\Documents and Settings\nikon\Ðàáî÷èé ñòîë\Space Atack\Space AtackView.cpp(72) : error C2275: 'CSpaceAtackDoc' : illegal use of this type as an expression
mirso
524 / 342 / 17
Регистрация: 05.04.2009
Сообщений: 709
08.06.2009, 02:16     Как с помощью TextOut вывести переменную? #9
C++
1
2
3
4
CString Cscore;
INT i = 555;
Cscore= (CString)i;       //(CString)(CSpaceAtackDoc.Score;
pDC->TextOut(X, Y, Cscore);
попробуй так.
nikon2k
0 / 0 / 0
Регистрация: 08.06.2009
Сообщений: 6
08.06.2009, 02:26  [ТС]     Как с помощью TextOut вывести переменную? #10
Тоже самое.. а как в статус бар хотя бы вывести значение переменноЙ?)
direct
0 / 0 / 0
Регистрация: 06.07.2010
Сообщений: 21
12.05.2012, 12:28     Как с помощью TextOut вывести переменную? #11
C++
1
2
3
4
5
int x = 337;
char pszNum [32] = {0};         
CString strTest;
strTest=_itoa (x, pszNum, 10);  
pDC->TextOut(0, 0, strTest);
Завернин
1 / 1 / 0
Регистрация: 22.12.2013
Сообщений: 27
20.02.2015, 15:53     Как с помощью TextOut вывести переменную? #12
Вот часть рабочего кода

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
LPWSTR CharToLPWSTR(LPCSTR char_string, int& l) 
{
    LPWSTR res;
    l = 0;
    while (char_string[l++]);
 
    res = (LPWSTR)GlobalAlloc(GPTR, (l) * sizeof(WCHAR));
    MultiByteToWideChar(1251, 0, char_string, -1, res, l--);
    
    return res;
}
 
int numb = 1024;
char s[12];
for (int i =0; i < 12; i++) s[i]=0;
sprintf(s, "%d text", numb);
int l;
LPCWSTR rstr = CharToLPWSTR(s, l);
TextOut( hdc, 10, 100, rstr, l);//
GlobalFree((HGLOBAL)rstr);
Croessmah
Модератор
Эксперт CЭксперт С++
12878 / 7264 / 810
Регистрация: 27.09.2012
Сообщений: 17,945
Записей в блоге: 2
Завершенные тесты: 1
20.02.2015, 16:06     Как с помощью TextOut вывести переменную? #13
Цитата Сообщение от nikon2k Посмотреть сообщение
как с помощью TextOut вывести переменную?
MSDN: TextOut function
Завернин
1 / 1 / 0
Регистрация: 22.12.2013
Сообщений: 27
20.02.2015, 16:31     Как с помощью TextOut вывести переменную? #14
Цитата Сообщение от Croessmah Посмотреть сообщение
MSDN: TextOut function
Это безусловно правильная ссылка, только без пояснений бесполезная.
Она только позволит понять какой тип строки нужно использовать в ней (LPCTSTR, а не CString). Но на самом деле в Windows (по крайней мере в VS) нужно использовать тип LPCWSTR.
Код в WinGDI.h
C++
1
2
#define TextOut  TextOutW
(__gdi_entry WINGDIAPI BOOL  WINAPI TextOutW( __in HDC hdc, __in int x, __in int y, __in_ecount(c) LPCWSTR lpString, __in int c);)
Ну а вот как преобразовать число в LPCWSTR эта ссылка никакого представления не даст (пример такой функции выложил сообщением выше).
Croessmah
Модератор
Эксперт CЭксперт С++
12878 / 7264 / 810
Регистрация: 27.09.2012
Сообщений: 17,945
Записей в блоге: 2
Завершенные тесты: 1
20.02.2015, 16:51     Как с помощью TextOut вывести переменную? #15
Цитата Сообщение от Завернин Посмотреть сообщение
Это безусловно правильная ссылка, только без пояснений бесполезная.
Не умение использовать документацию не делает её бесполезной. Там всё написано
ValeryS
Модератор
6508 / 4974 / 459
Регистрация: 14.02.2011
Сообщений: 16,476
20.02.2015, 16:58     Как с помощью TextOut вывести переменную? #16
Цитата Сообщение от Завернин Посмотреть сообщение
LPCTSTR, а не CString
а что по вашему внутри CString?
CString спокойно приводится к массиву сhar-ов при ANSI кодировке и wchar_t при unicode
Завернин
1 / 1 / 0
Регистрация: 22.12.2013
Сообщений: 27
20.02.2015, 17:08     Как с помощью TextOut вывести переменную? #17
Конечно нужно уметь самому докапываться до решения.

Но для этого и есть форумы, чтобы спросить совет.
К тому же полностью вопрос в том, как вывести число с помощью функции TextOut, на что данная ссылка не отвечает. Дать только эту ссылку почти тоже самое, что и отправить погуглить

К тому же документация в данном случае еще и некорректна, что я продемонстрировал выше. (Нужно использовать тип, не указанный на этой странице документации. Возможно правда, что будет использована неявное приведение, не пробовал). Да и проще тогда использовать IntelliSense, инфа будет более корректна.

Добавлено через 5 минут
Цитата Сообщение от ValeryS Посмотреть сообщение
а что по вашему внутри CString?
CString спокойно приводится к массиву сhar-ов при ANSI кодировке и wchar_t при unicode
Окей, не пользовался этим типом. Не использую MFC, так как не соответствует моим целям.
Croessmah
Модератор
Эксперт CЭксперт С++
12878 / 7264 / 810
Регистрация: 27.09.2012
Сообщений: 17,945
Записей в блоге: 2
Завершенные тесты: 1
20.02.2015, 17:09     Как с помощью TextOut вывести переменную? #18
Цитата Сообщение от Завернин Посмотреть сообщение
К тому же полностью вопрос в том, как вывести число с помощью функции TextOut, на что данная ссылка не отвечает.
По ссылке есть вполне доходчивый пример!
Цитата Сообщение от Завернин Посмотреть сообщение
Дать только эту ссылку почти тоже самое, что и отправить погуглить
с ой лишь разницей, что уже нагуглили всё необходимое - только читай и всасывай.
Цитата Сообщение от Завернин Посмотреть сообщение
К тому же документация в данном случае еще и некорректна
Да ладно? В каком месте доки не корректны? Может предложите мелкософту исправить? Может плюшку дадут
nmcf
4919 / 4257 / 1425
Регистрация: 14.04.2014
Сообщений: 16,737
20.02.2015, 17:30     Как с помощью TextOut вывести переменную? #19
Преобразуй число в обычную строку с помощью swprintf().
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.02.2015, 17:37     Как с помощью TextOut вывести переменную?
Еще ссылки по теме:

TextOut как избавиться от выводимого им мусора? C++
C++ Как, создав переменную класса string, вывести ее последнюю букву на экран
C++ Вывести с помощью printf переменную типа char*
C++ Как правильно вывести переменную?
C++ С помощью ассемблерной вставки сложить a+b, вывести результат, в переменную bool записать было ли переполнение

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Завернин
1 / 1 / 0
Регистрация: 22.12.2013
Сообщений: 27
20.02.2015, 17:37     Как с помощью TextOut вывести переменную? #20
Цитата Сообщение от Croessmah Посмотреть сообщение
По ссылке есть вполне доходчивый пример!
Все же в примере нет преобразования числа в строку, автор написал, что "не шарит вообще".
Цитата Сообщение от Croessmah Посмотреть сообщение
Да ладно? В каком месте доки не корректны? Может предложите мелкософту исправить? Может плюшку дадут
Тут согласен, сначала подумал что типы LPCTSTR и LPCWSTR разные, теперь понял что это одно и то же. Не разобрался. А вот насчет багов мелкософта я кстати находил) Думаю, ошибки в MS не есть что-то неординарное. Если интересно попробуйте протестировать функции из .Net GraphicsPath.IsVisible(PointF pf). Путь состоящий из квадрата (x=0, y=0, w = 1, h =1)1 не будет видеть точку внутри с координатами (0.5f, 0.5f). В документации подобных ограничений действия функции не описано.
Yandex
Объявления
20.02.2015, 17:37     Как с помощью TextOut вывести переменную?
Ответ Создать тему
Опции темы

Текущее время: 05:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru