|
26 / 1 / 1
Регистрация: 18.03.2018
Сообщений: 278
|
|
Разместить текст в TImage13.11.2018, 19:08. Показов 3300. Ответов 14
Метки нет (Все метки)
Здравствуйте. Получил задание на создание "Мастера создания визиток". Реализовал сам шаблон визитки. Можно задавать её размер, а также выбирать фон. Теперь нужно реализовать добавление текста с возможность выбирать шрифт, размер, цвет. Подскажите пожалуйста, как это можно сделать лучше всего? Я думал попробовать присваивать текст через эдит в лейбл, по отдельным кнопкам каким-нибудь или другим объектам разместить функции редактирования, и сделать так, чтобы лейбл можно было двигать во время выполнения программы, но понял, что это очень муторно, неудобно, да и лейблы можно будет двигать по всей форме, а не только внутри TImage.
Кто-нибудь сталкивался с чем-нибудь похожим? Был бы очень благодарен за любую помощь. Прикрепляю скриншот (она в процессе, поэтому не обращайте внимания на разбросанные лейблы)
0
|
|
| 13.11.2018, 19:08 | |
|
Ответы с готовыми решениями:
14
TImage после динамической загрузки PNG неправильно выводит текст Разместить на все строки DBGrid текст из Edit Вывести текст на изображение TImage |
|
Практикантроп
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
|
|
| 13.11.2018, 20:50 | |
|
Используйте панель; а на ней разместите Image и Label'ы. Тогда таскать их возможно только в пределах рисунка. И вспомните о компонентах-диалогах (Color dialog, Font dialog...).
1
|
|
|
26 / 1 / 1
Регистрация: 18.03.2018
Сообщений: 278
|
|
| 13.11.2018, 20:52 [ТС] | |
|
nick42, ой, а можно, пожалуйста, поподробнее? Я не работал с этими объектами, но по названию понятно, что они будут очень полезны
Желательно пример какой-нибудь
0
|
|
|
Практикантроп
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
|
|
| 13.11.2018, 21:01 | |
Сообщение было отмечено Komputershik как решение
Решение
П.С. вот примитив для ознакомления
2
|
|
|
26 / 1 / 1
Регистрация: 18.03.2018
Сообщений: 278
|
|
| 13.11.2018, 21:53 [ТС] | |
|
nick42, спасибо, сейчас попробую разобраться.
Добавлено через 27 минут nick42, хмм. Пытаюсь ваш код использовать из проекта, в h всё указал, но почему-то выдаёт всё-равно ошибку "[bcc32 Error] Unit1.cpp(77): E2316 '_fastcall TForm1::Label6MouseDown(TObject *,TMouseButton,TShiftState,int,int)' is not a member of 'TForm1'" будто я не объявлял ничего Добавлено через 20 минут nick42, всё, разобрался с fastcall, теперь проблема в том, что лейбл не двигается. Шрифт меняется, а лейбл всё равно не двигается
0
|
|
|
Практикантроп
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
|
|
| 13.11.2018, 21:56 | |
|
может банально ему (лэйблу) обработчик не назначили? (Событие OnMouseDown OnMouseMove)
1
|
|
|
26 / 1 / 1
Регистрация: 18.03.2018
Сообщений: 278
|
|
| 13.11.2018, 22:05 [ТС] | |
|
nick42, Да вроде поставил всё. А там OnMouseDown или MouseDown? (хотя я оба варианта пробовал). С панелью тоже разобрался, даже сделал так, чтобы она динамически менялась вместе с TImage
Можно я вам проект скину?
0
|
|
|
Практикантроп
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
|
||
| 13.11.2018, 22:11 | ||
1
|
||
|
26 / 1 / 1
Регистрация: 18.03.2018
Сообщений: 278
|
|
| 13.11.2018, 22:22 [ТС] | |
|
nick42, Вот, пришлось заливать на файлообменник, т.к. ошибка при попытке вложить через файл (похоже файл слишком большой из-за картинок)
https://drop.me/Bke096 volvo, блин, не могу открыть. Я пользуюсь community билдером 10ым ![]() Добавлено через 4 минуты nick42, может быть я какую-нибудь галочку не поставил на лейбле?
0
|
|
|
Практикантроп
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
|
|
| 13.11.2018, 22:49 | |
Сообщение было отмечено Komputershik как решение
Решение
Да нет. не в галочке дело. Тут вот какая штука: в моем примере обработчик для Label1 (mousedown, mousemove) построен универсально, т.е. от какой метки поступит сообщение (ну, или запрос на обработку), с той меткой манипуляции и производятся. Поэтому можно просто разместить Label на Image, в Events-OnMouseDown (так же и в OnMouseMove) в пустом поле щелкнуть мышью для появления выпадающего меню, и в нем выбрать вот тот уже написанный обработчик для Label1.
1
|
|
|
26 / 1 / 1
Регистрация: 18.03.2018
Сообщений: 278
|
|
| 13.11.2018, 22:54 [ТС] | |
|
nick42, ооо, спасибо. всё, работает. Большое вам спасибо! (да, в Events везде указал эту штуку)
0
|
|
|
Супер-модератор
|
||
| 14.11.2018, 00:59 | ||
Сообщение было отмечено Komputershik как решение
Решение
2
|
||
|
Практикантроп
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
|
|
| 14.11.2018, 10:01 | |
|
Там в Mov_Lbl.hpp неплохо бы добавить фиксацию координат мыши при Down. А то метка "соскальзывает"... .
0
|
|
|
26 / 1 / 1
Регистрация: 18.03.2018
Сообщений: 278
|
|
| 14.11.2018, 23:07 [ТС] | |
|
volvo, Согласен, у вас куда проще, однако, как написал nick42, там действительно "съезжает" лейбл вниз, как только начинаешь его двигать
0
|
|
| 14.11.2018, 23:07 | |
|
Помогаю со студенческими работами здесь
15
Разместить текст по центру Как разместить текст в кнопке?
Как лушче разместить текст.
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
|
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|