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

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

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

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

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

Столкнулся с такой проблемой:
При нажатии кнопки мне нужно вывести в окно текст, в принципе все выводится, только
как сделать так чтобы еще и обновлялось? У меня CPaintDC::TextOut находится в
обработчике нажатия кнопки и при изменении размеров окна OnPaint все затирает.
Заранее спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
boombastik
7 / 7 / 0
Регистрация: 13.02.2007
Сообщений: 1,255
06.07.2010, 23:43     TextOut и OnPaint. Вывод и обновление текста. #2
Выводите в главное окно? Если да, то нужно сделать несколько шагов:

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

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

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

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

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

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

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

В принципе, несколько if’ов вполне заменят switch…
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.07.2010, 02:20     TextOut и OnPaint. Вывод и обновление текста.
Еще ссылки по теме:
TextOut как избавиться от выводимого им мусора? C++
C++ Вывод текста
Вывод текста C++
C++ Вывод текста

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

Или воспользуйтесь поиском по форуму:
boombastik
7 / 7 / 0
Регистрация: 13.02.2007
Сообщений: 1,255
07.07.2010, 02:20     TextOut и OnPaint. Вывод и обновление текста. #7
тоже верно
Yandex
Объявления
07.07.2010, 02:20     TextOut и OnPaint. Вывод и обновление текста.
Ответ Создать тему
Опции темы

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