С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.92
JnkT
0 / 0 / 0
Регистрация: 23.02.2010
Сообщений: 39
#1

TextOut и OnPaint. Вывод и обновление текста. - C++

06.07.2010, 22:37. Просмотров 1656. Ответов 6
Метки нет (Все метки)

Столкнулся с такой проблемой:
При нажатии кнопки мне нужно вывести в окно текст, в принципе все выводится, только
как сделать так чтобы еще и обновлялось? У меня CPaintDC::TextOut находится в
обработчике нажатия кнопки и при изменении размеров окна OnPaint все затирает.
Заранее спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.07.2010, 22:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос TextOut и OnPaint. Вывод и обновление текста. (C++):

как сделать вывод текста, результата и продолжение текста - C++
#include <iostream> using namespace std; int main() { int win; cout<<"Введите цифру\n"; cin >> win; ...

Winapi: обновление текста в окне - C++
По таймеру каждые 100мс обновляю текст в Edit Control. Но проблема в том, что очень сильно заметны моргания текста при обновлении. Поэтому...

Как сделать обновление текста строки через определенное время? - C++
Здравствуйте. Как сделать обновление текста строки через определенное время? #include <iostream> #include <string> #include...

TextOut выдет каракули..=(( - C++
Хелп, не пойму в чём дело??? первые 9 цифр выводит нормальными, а с 10 и больше выкидывает каракули!! char szBuffer; for(int...

Как задать кодировку для TextOut? - C++
Как задать кодировку для TextOut?

TextOut как избавиться от выводимого им мусора? - C++
gr2=0; char stt2 ; ltoa(gr2,stt2,10); mbstowcs(grr2, stt2, strlen(stt2)+1); LPWSTR ptr2 = grr2; TextOut(hDC,460,140,ptr2,3); ...

6
boombastik
7 / 7 / 0
Регистрация: 13.02.2007
Сообщений: 1,255
06.07.2010, 23:43 #2
Выводите в главное окно? Если да, то нужно сделать несколько шагов:

1. Создать переменную text типа CString у главного окна (изначально пустая строка).
2. Переписать обработчик окна OnPaint(), в котором выводить text в нужном месте экрана.
3. В обработчике нажатия кнопки установить text='Текст для вывода' и вызвать метод Invalidate окна.

Есть второй способ:

разместить на окне компонент CStatic и использовать метод SetWindowText для вывода текста на экран. Можно также воспользоваться компонентом CEdit.

Удачи, Владимир
0
JnkT
0 / 0 / 0
Регистрация: 23.02.2010
Сообщений: 39
07.07.2010, 00:19  [ТС] #3
понятно, спасибо.

Еще один вопрос: нужно сделать switch’ем выбор строки, у меня она типа CString, но он на отрез отказывается получать этот тип данных в качестве параметра. Что делать?

CString s='123';
switch(s)
{
case '123':
AfxMessageBox('ok');
break;
}

Заранее благодарю.
0
boombastik
7 / 7 / 0
Регистрация: 13.02.2007
Сообщений: 1,255
07.07.2010, 00:52 #4
К сожалению switch в C++ работает только с целочисленными аргументами int, byte, long и т.п.
0
boombastik
7 / 7 / 0
Регистрация: 13.02.2007
Сообщений: 1,255
07.07.2010, 00:54 #5
Воспользуйтесь функцией atoi или atol для преобразования строки в int или long
0
JnkT
0 / 0 / 0
Регистрация: 23.02.2010
Сообщений: 39
07.07.2010, 02:08  [ТС] #6
Не, с этим не чего не выходит, если строка имеет числовые значения, то эти ф-ии вроде конвертируют, а у меня в сроке текст.

В принципе, несколько if’ов вполне заменят switch…
0
boombastik
7 / 7 / 0
Регистрация: 13.02.2007
Сообщений: 1,255
07.07.2010, 02:20 #7
тоже верно
0
07.07.2010, 02:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.07.2010, 02:20
Привет! Вот еще темы с ответами:

Не могу понять ошибку функции TextOut - C++
мне нужно вывести строку в окно формы. и пишу такой код где S - char S; ошибку выдает след: error C2664: 'TextOut': cannot convert...

Знак градуса для функции TextOut - C++
Как его обозначить? Есть дабл, с него надо сформировать си-строку для вывода этой функцией курса на экран в градусах и минутах.

Как с помощью TextOut вывести переменную? - C++
как с помощью TextOut вывести переменную? ПС: я не шарю вообще.. с помощью printf, cout не выводится ибо не обычная область а для...

Вывод текста - C++
#include <iostream> #include <conio.h> using namespace std; void main() { setlocale(LC_ALL, "rus"); char a; char...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.