Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/21: Рейтинг темы: голосов - 21, средняя оценка - 4.90
 Аватар для Pingvin001
1 / 1 / 0
Регистрация: 22.03.2014
Сообщений: 142

DrawText и перемещение текста в окне по вертикали

16.03.2015, 16:30. Показов 4495. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
DrawText рисует текст в прямоугольнике структуры RECT и выводит в графическое окно, но как его двигать в окне (если текст большой)? (и, желательно, при сдвиге окна появилась кнопка, которая находится в нижней части окна и поэтому сразу не видна.)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.03.2015, 16:30
Ответы с готовыми решениями:

DrawText наложение текста
Всем привет! У меня появилась проблема, при перерисовке через DrawText происходит наложение текста. Думаю после прорисовки нужно...

Местоположение текста (DrawText)
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { int wmId, wmEvent; PAINTSTRUCT ps; HDC hdc...

Качество отрисовки текста у TextRenderer.DrawText
Микрософт заявлял что GDI будет производительнее чем GDI+, но по факту почему-то Graphics.DrawString на максимальном качестве отрисовывает...

17
32 / 30 / 4
Регистрация: 01.02.2014
Сообщений: 878
17.03.2015, 11:08
что значит двигать? нужно перенести строку? - используй перенос \r\n, нужно переместить по высоте или по краю окна? - в структуре RECT увеличивай на нужное количество поля left и top
0
 Аватар для Pingvin001
1 / 1 / 0
Регистрация: 22.03.2014
Сообщений: 142
17.03.2015, 13:26  [ТС]
Двигать - зто значит правильное отображение окна при изменении положения бегунка в полосе прокрутки.
0
 Аватар для Pingvin001
1 / 1 / 0
Регистрация: 22.03.2014
Сообщений: 142
19.03.2015, 13:49  [ТС]
При повторении примеров SYSMETS2.C и SYSMETS3.C из книги Петзолд первый том «Программирование для Windows 95», прокрутка не работает (под Windows 8.1)– движок, хотя его и двигаешь, устанавливается всегда вверх. Какие исправления внести?

Добавлено через 2 часа 44 минуты
Среда Dev 5
0
 Аватар для Игорь с++
500 / 474 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
19.03.2015, 14:26
лови

...
Вложения
Тип файла: 7z DrawText.7z (9.5 Кб, 34 просмотров)
0
 Аватар для Pingvin001
1 / 1 / 0
Регистрация: 22.03.2014
Сообщений: 142
19.03.2015, 19:44  [ТС]
Игорь с++, Этот код рисует консольное окно с жёстко установленными бегунками в 8.1

Добавлено через 25 минут
Похоже на консольное окно.

Добавлено через 32 минуты
Может только в 8 нет прокрутки?
0
 Аватар для Игорь с++
500 / 474 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
20.03.2015, 10:06
Цитата Сообщение от Pingvin001 Посмотреть сообщение
Этот код рисует консольное окно с жёстко установленными бегунками в 8.1
ты код вообще смотрел ?
Миниатюры
DrawText и перемещение текста в окне по вертикали  
0
 Аватар для Pingvin001
1 / 1 / 0
Регистрация: 22.03.2014
Сообщений: 142
25.03.2015, 15:29  [ТС]
Игорь с++, Код крутой, есть создание дополнительного места в памяти и копирование (функция BitBlt), но в Windows 8.1 по умолчанию отключена прокрутка и как её включить я не знаю. И выложенная программа в 8.1 не прокручивается. А у тебя движок по середине (у меня сразу возвращается в начало), какая у тебя ОС ?
Из MSDN: В 8.1 true если контейнер включает автоматический-скроллинг; в противном случае, false. Значение по умолчанию false.

Как включить скролинг в Windows 8.1 ?
0
 Аватар для Игорь с++
500 / 474 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
25.03.2015, 16:15
Цитата Сообщение от Pingvin001 Посмотреть сообщение
Как включить скролинг в Windows 8.1 ?
Я Вас не понимаю , как может прокрутка быть выключена ? У меня на виртуалке стоит 8.1 и 10 везде всё крутится.
0
 Аватар для Pingvin001
1 / 1 / 0
Регистрация: 22.03.2014
Сообщений: 142
25.03.2015, 18:19  [ТС]
А у меня не крутится!

Добавлено через 6 минут
Может так в Dev 5?

Добавлено через 1 час 2 минуты
При запуске именно проекта с архива - такая надпись:
"The compiler settings format of Orwell Dev-C++ has changed.
Please update your settings ar Proect >> Proect Options >> Compiler and save your proect."
Но у меня нет Опций проекта не в Проекте, не в Сервисе.
В Проекте есть Параметры проекта, но там ничего нельзя сохранить.
Миниатюры
DrawText и перемещение текста в окне по вертикали  
0
 Аватар для Pingvin001
1 / 1 / 0
Регистрация: 22.03.2014
Сообщений: 142
25.03.2015, 21:44  [ТС]
И при запуске даже старого exe файла, движки прокрутки возвращаются в начало и новый скомпилированный файл в пять раз больше.

Добавлено через 23 минуты
Довольно интересно, что у запускаемого старого скомпилированного файла прокрутка не работает.
0
 Аватар для Игорь с++
500 / 474 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
26.03.2015, 09:14
Цитата Сообщение от Pingvin001 Посмотреть сообщение
Довольно интересно, что у запускаемого старого скомпилированного файла прокрутка не работает.
в других программах скрол работает ?
0
 Аватар для Pingvin001
1 / 1 / 0
Регистрация: 22.03.2014
Сообщений: 142
26.03.2015, 13:57  [ТС]
Цитата Сообщение от Игорь с++ Посмотреть сообщение
в других программах скрол работает ?
Во всех!

Добавлено через 7 минут
Получается, в скомпилированных на C программах скрол у всех работает, а у меня нет.
0
 Аватар для Игорь с++
500 / 474 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
26.03.2015, 15:13
скачай CodeBlocks 13:12 и там проверь мой код
0
267 / 170 / 40
Регистрация: 25.08.2014
Сообщений: 1,087
Записей в блоге: 1
26.03.2015, 16:09
Скролл надо самому описать, как это Игорь с++ сделал. А крутить у него в коде на стрелочки и серую зону прокрутки, за ползунок тягать не реализовано.
0
 Аватар для Pingvin001
1 / 1 / 0
Регистрация: 22.03.2014
Сообщений: 142
26.03.2015, 21:05  [ТС]
Игорь с++, CodeBlocks 13:12 пока не пробовал, да, видимо, и не надо.
Попробовал на другом компе с 7 – то же самое: передвинутый мышкой движок возвращается туда, откуда его подвинули. Но если щелкать мышкой на движке, то двигается движок и в 7, и в 8.1 и в скомпилированной программе. Я думаю, у Вас тоже за движок не перемещается прокрутка в этой проге.
0
267 / 170 / 40
Регистрация: 25.08.2014
Сообщений: 1,087
Записей в блоге: 1
27.03.2015, 04:28
Цитата Сообщение от Pingvin001 Посмотреть сообщение
Я думаю, у Вас тоже за движок не перемещается прокрутка в этой проге.
Чел, ты код смотрел? Ты видел что там поведение описано только в случае когда кликаешь на кнопки и серую зону?
SB_LINEUP - для нажатия на кнопку - реализовано
SB_PAGEUP - для нажатия на серую зону - реализовано
SB_THUMBTRACK - для бегунка - нет
1
 Аватар для Pingvin001
1 / 1 / 0
Регистрация: 22.03.2014
Сообщений: 142
27.03.2015, 11:15  [ТС]
Сообщение от Enno увидел только через некоторое время после того как отправил предыдущее своё сообщение.

А в скомпилированной программе SYSMETS3.C из книги Петзолд ни как не перемещается прокрутка даже в 7.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.03.2015, 11:15
Помогаю со студенческими работами здесь

Вывод текста не экран с помощью DrawText (DirectX)
Здравствуйте, проблема такая: пытаюсь вывести текст на экран, если я пишу вот так pFont->DrawText(NULL, L"Все работает", -1,...

Выровнять текст по вертикали в окне ввода
Как сделать чтобы текст в окне ввода был по центру? Ничего в гугле не нашел по этому поводу... Шрифт вполне уместился бы в окне,...

Перемещение картинки по вертикали с изменением скролла
Как можно реализовать перемещение картинки по вертикали с изменением скролла? Например, как реализовано тут: https://callbackkiller.ru/

Перемещение картинки по вертикали с изменением скролла
Как можно реализовать перемещение картинки по вертикали с изменением скролла? Например, как реализовано тут: https://callbackkiller.ru/

Помогите получить HDC принтера вывести печать текста функцией DrawText
Написал программку (для бух.) и хочу сделать свою процедуру печати. Помогите получить HDC принтера с помощью CreateDC, вывести туда...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru