Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
2 / 3 / 0
Регистрация: 20.09.2009
Сообщений: 101

C++ Builder Text Draw

12.08.2010, 16:28. Показов 2989. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем.

вот у меня такая задачи выпала мне нужно дравнить 2d текст в win32 приложении

как это сделать??? мог бы мне кто нибуть дать исходники? (очень хочу научитьса)

d3d9 sdk у меня есть
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.08.2010, 16:28
Ответы с готовыми решениями:

C++ Builder 6 запись значения из Edit1->text в переменную типа wchar_t
Вот кусок кода, где объявлен класс, и экземпляром класса является массив. У класса есть переменная, имеющая тип wchar_t, надо записать в...

Borland C++ Builder. Как свойству Text компонента Edit присвоить значение строки?
Как свойству Text компонента Edit присвоить значение строки? string a; a = "word"; Edit1->Text = a; Вылетает ошибка: ...

OpemGL Text draw
привет! Нужна помощь с распределением текста в OpenGL на другом окне как в FRAPS. Я везде искал и ничего нету... plz напешите для...

13
 Аватар для oxotnik
1665 / 1134 / 80
Регистрация: 21.08.2008
Сообщений: 4,734
Записей в блоге: 1
12.08.2010, 16:39
просто написать на форме текст штоли?
0
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
12.08.2010, 17:55
MelKiY, так что-ли?
C++
1
DrawText(GetDC(Form1->Handle), "Test", 4, &TRect(0,0,Form1->Width,Form1->Height), DT_LEFT);
0
2 / 3 / 0
Регистрация: 20.09.2009
Сообщений: 101
13.08.2010, 12:57  [ТС]
ну типо, только дравнить не на форме а в иге я попробовал это токо у меня не получается

C++
1
2
3
4
5
6
7
const Process_All_Access = 0x1F0FFF;
HANDLE pHandle;
DWORD pid = 1;
GetWindowThreadProcessId(FindWindow(0,"Stalker"),&pid);
pHandle =  OpenProcess(Process_All_Access,false,pid);
DrawText(GetDC(pHandle), "LOOOOOOOOOOOOOOL", 4, &TRect(0,0,60,70), DT_LEFT);
CloseHandle(pHandle);
Добавлено через 16 часов 23 минуты
я попробавал это

C++
1
2
3
4
HWND wnd;
wnd = FindWindow(NULL, "Stalker");
SetBkColor(wnd, clRed);
DrawText(GetDC(wnd), "Test", -1, &TRect(50,50,1000,1000), DT_LEFT);
токо там мой текст стирается в 0.1 секунды и если я поставлю этот код на таймер то у меня текст начинает мигать

есть ли друго способ чтобы если я дравнил текст то он там так и оставался??
 Комментарий модератора 
Для выделения C++ кода используйте тег C++!
0
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
13.08.2010, 13:03
MelKiY, я, конечно, не уверен, но если вы пытаетесь нарисовать что-то на другом окне в игре, то у вас может не получится, потому что это окно будет постоянно перерисовываться, так как на него выводится картинка самой игры.
0
2 / 3 / 0
Регистрация: 20.09.2009
Сообщений: 101
13.08.2010, 13:09  [ТС]
так в Gta vice city online как то это сделано??

http://img18.imageshack.us/img18/3982/vco040x.png

текст там постоянно весит и некму не мишает
0
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
13.08.2010, 13:17
MelKiY, вполне возможно, что там вывод текста сделан через саму игру. Если вы занимались скриптописанием для GTA, то наверное знаете скрипты, типа "Вывести текст", "Подождать 5 секунд", "Удалить текст" и тому подобное.
А вы просто рисуете на окне, которое подвержено частой перерирсовке.
А что вам вообще требуется сделать?
0
2 / 3 / 0
Регистрация: 20.09.2009
Сообщений: 101
13.08.2010, 13:24  [ТС]
Цитата Сообщение от Папа Карло Посмотреть сообщение
MelKiY, вполне возможно, что там вывод текста сделан через саму игру. Если вы занимались скриптописанием для GTA, то наверное знаете скрипты, типа "Вывести текст", "Подождать 5 секунд", "Удалить текст" и тому подобное.
А вы просто рисуете на окне, которое подвержено частой перерирсовке.
А что вам вообще требуется сделать?
просто текст в левом нижнем углу

Добавлено через 4 минуты
ok спасибо за помощ Огромное
0
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
13.08.2010, 13:32
Хотя какой-то способ есть: например, такие программы как Fraps спокойно выводят число FPS в правом верхнем углу...
0
2 / 3 / 0
Регистрация: 20.09.2009
Сообщений: 101
13.08.2010, 13:36  [ТС]
да да
0
4 / 4 / 1
Регистрация: 11.08.2010
Сообщений: 19
13.08.2010, 14:24
способ какой то есть, у меня "плавающий контакт" в qip был поверх counter-strike и не моргал и все время активен был, однако в варкрафте это уже не работало, все мерцало...
0
2 / 3 / 0
Регистрация: 20.09.2009
Сообщений: 101
14.08.2010, 22:21  [ТС]
и ещё как мне написать текст который в Edit1? я попробавал не получается

C++
1
2
3
4
5
6
7
8
9
HWND wnd;
wnd = FindWindow(NULL, "Stalker");
SetBkColor(wnd, clRed);
HDC DC = GetDC(wnd);
char msg[] = Edit1->Text;
SetBkMode(DC,TRANSPARENT);
SetBkColor(DC, RGB(26, 100, 255));
SetTextColor(DC, RGB(0, 255, 0));
TextOut(DC, 750, 720,msg, sizeof(msg)-1);
???
0
Эксперт С++
 Аватар для MikeSoft
3956 / 1811 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
15.08.2010, 00:02
MelKiY, на вскидку в коде есть ошибки... попробуйте заменить 5-ую строчку на фрагмент:
C++
1
2
3
int len = Edit1->Text.Length();
char *msg = new char [len];
strcpy(msg,Edit1->Text.t_str());
И в девятой строчке пятым параметром передавайте полученную переменную len:
C++
1
TextOut(DC, 750, 720, msg, len);
0
2 / 3 / 0
Регистрация: 20.09.2009
Сообщений: 101
15.08.2010, 00:23  [ТС]
C++
1
2
3
4
5
6
7
8
9
10
HWND wnd;
wnd = FindWindow(NULL, "Stalker");
HDC DC = GetDC(wnd);
int len = Edit1->Text.Length();
char *msg = new char [len];
strcpy(msg,Edit1->Text.t_str());
SetBkMode(DC,TRANSPARENT);
SetBkColor(DC, RGB(26, 100, 255));
SetTextColor(DC, RGB(0, 255, 0));
DrawText(DC, msg, -1, &TRect(50,50,1002,1002), DT_LEFT);
не неработает t_str is not member of AnsiString

Добавлено через 6 минут
заработало t_str заменил на c_str lol спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.08.2010, 00:23
Помогаю со студенческими работами здесь

Можно ли отрисовывать массив, передав его, как параметр в функцию draw, в glutDisplayFunc(draw);?
В рамках курсовой работы у меня появилось задание написать игру "Жизнь" с консольным меню, и визуализацией opengl. Опираясь на мои...

результат выборки из БД: rs.next(); String text=rs.getString('text'); <input type=text name=name value=<%=text%>>
Возникла проблема в текстовое поле надо вывести результат выборки из БД rs.next(); String text=rs.getString('text'); &lt;input...

Как задать диапазон Shapes. Range(Array("Text box 1", "Text box 2", "Text box 3", "Text box 4"."Text box 10").Select
Здравствуйте, все. Подскажите, пожалуйста, возможно ли в макросе VBA MS Word заменить область перечисляющихся значений в области Shapes....

ActiveX Control: Form1.Show bvModal if(Form1.Text1.Text <> '') then UserControl.Text2.Text = Form1.Text1.Text
Имеется проект ActiveX Control, в нем: Form1(имеет Text1, Button1), UserControl1 (имеет Text2, Button2). По нажатию на Button2 открывается...

Сохранение текста (label.text или textBox.text) для повторного использования
В общем когда пользователь входит необходимо чтоб он авторизовался, а для того чтоб этого не делать 500 раз, нужно чтоб программа сохраняла...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США. Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru