0 / 0 / 0
Регистрация: 21.02.2023
Сообщений: 42

Автоматический перенос на вторую строку текста в одной ячейке StringGrid

01.03.2023, 00:51. Показов 2689. Ответов 34

Студворк — интернет-сервис помощи студентам
Здравствуйте, подскажите, как сделать автоматический или хотя-бы через Enter перенос на другую строку текста в одной ячейке. Возможно повторяюсь по теме, но код который предложили в теме Как сделать перенос текста внутри одной ячейки StringGrid?, переносит тот текст в ячейках, который прописан в редакторе исходного кода, а мне нужно, чтобы он при наборе текста переносился автоматически, в соответствии с шириной ячейки, или через пробел. Как можно это сделать ?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.03.2023, 00:51
Ответы с готовыми решениями:

Автоматический перенос текста из одной ячейки в другую
помогите сделать формулу, есть дата когда человек должен пойти в отпуск, когда дата наступила перенести его автоматически в столбец "в...

Автоматический перенос выходящего за рамки ячейки текста на новую строку
Доброго времени суток, уважаемые форумчане! Вопрос значит такой. Как реализовать перенос текста, который не вмещается в ячейку. ...

Перенос текста на новую строку в конкретной ячейке DataGridView
Доброго дня! Необходимо сделать что бы текст переносился на новую строку только в конкретной ячейке. Я ввожу в ячейку текст, если он...

34
 Аватар для Пытливый
3764 / 2272 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
06.03.2023, 02:23
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от olnekit Посмотреть сообщение
Знаки встали как положено, благодарю за помощь, но появилась ещё другая проблема. При нажатие на ячейку с текстом кнопкой мыши, текст в ячейке пропадает, как только кнопкой мыши нажимаешь на другу ячейку, текст в ячейке опять появляется. В чём может быть проблема ?
Предположу, что текст у вас имеет в начале кучу пробелов и это дает такой эффект.
0
0 / 0 / 0
Регистрация: 21.02.2023
Сообщений: 42
06.03.2023, 02:41  [ТС]
Цитата Сообщение от Пытливый Посмотреть сообщение
Предположу, что текст у вас имеет в начале кучу пробелов и это дает такой эффект.
Даже без единого пробела текст также пропадает при нажатии.
0
 Аватар для Пытливый
3764 / 2272 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
06.03.2023, 13:04
Цитата Сообщение от olnekit Посмотреть сообщение
Даже без единого пробела текст также пропадает при нажатии.
А вот у меня не пропадет и даже не получается добиться такого эффекта. Интересно, что я делаю не так?
Можете прикрепить архив с проектом, где такой эффект имеется?
0
0 / 0 / 0
Регистрация: 21.02.2023
Сообщений: 42
07.03.2023, 07:48  [ТС]
Цитата Сообщение от Пытливый Посмотреть сообщение
А вот у меня не пропадет и даже не получается добиться такого эффекта. Интересно, что я делаю не так?
Можете прикрепить архив с проектом, где такой эффект имеется?
При воспроизведении проекта, нажмите на "Загрузить", там текст появится. На любую ячейку нажимаете, и он пропадает. Возможно курсор разукрашен в белый цвет при клики на ячейку.
Вложения
Тип файла: rar Проект.rar (4.95 Мб, 17 просмотров)
0
Модератор
 Аватар для D1973
9954 / 6489 / 2461
Регистрация: 21.01.2014
Сообщений: 27,488
Записей в блоге: 3
07.03.2023, 07:54
Цитата Сообщение от olnekit Посмотреть сообщение
нажмите на "Загрузить"
Вот скриншот окна Вашего приложения. И где это пресловутое "Загрузить"?
Миниатюры
Автоматический перенос на вторую строку текста в одной ячейке StringGrid  
0
 Аватар для mr-Crocodile
3054 / 1673 / 657
Регистрация: 19.03.2019
Сообщений: 5,380
07.03.2023, 10:55
D1973, разверните на всё окно:
0
 Аватар для mr-Crocodile
3054 / 1673 / 657
Регистрация: 19.03.2019
Сообщений: 5,380
07.03.2023, 11:04
Цитата Сообщение от olnekit Посмотреть сообщение
На любую ячейку нажимаете, и он пропадает.
текст выбранной ячейки у тебя белым выделяется. и фон тоже белый. поэтому белым по белому - ничего не видно.
0
Модератор
 Аватар для D1973
9954 / 6489 / 2461
Регистрация: 21.01.2014
Сообщений: 27,488
Записей в блоге: 3
07.03.2023, 11:11
Цитата Сообщение от mr-Crocodile Посмотреть сообщение
разверните на всё окно
Развернул, не совсем дурак еще пока. У меня ноутбук 19" - этого мало оказалось!
Я ведь это опубликовал не потому, что кнопку в проекте найти не могу, а для того, чтобы ТС задумался о масштабировании... Но, чувствую, это вряд ли...
Миниатюры
Автоматический перенос на вторую строку текста в одной ячейке StringGrid  
1
 Аватар для mr-Crocodile
3054 / 1673 / 657
Регистрация: 19.03.2019
Сообщений: 5,380
07.03.2023, 11:17
Цитата Сообщение от D1973 Посмотреть сообщение
У меня ноутбук 19" - этого мало оказалось!
почему такой маленький? 27 дюймов мне хватило, чтобы отобразить полностью

olnekit, чтобы понять, о чём я говорю, замени у себя в коде в строке 86 одну строчку SG.Canvas.Brush.Color := SG.Color;
на этот код:
Delphi
86
87
88
89
90
    //  SG.Canvas.Brush.Color := SG.Color;
  if gdSelected in aState then //для selected использовать заливку серым цветом
     SG.Canvas.Brush.Color := clLtGray
  else
     SG.Canvas.Brush.Color := clWindow;
1
 Аватар для Пытливый
3764 / 2272 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
07.03.2023, 11:51
Лучший ответ Сообщение было отмечено olnekit как решение

Решение

Так компоненты на форме расставлять не надо иначе проблемы гарантированы почти у всех. Вот я немножко подправил вам форму и теперь она нормально будет отображаться на любом мониторе, без плясок с бубном. Там же я подправил немножко код отрисовки, с учетом особенностей Лазарус. Теперь текст не пропадает.
Вложения
Тип файла: rar 2.rar (55.4 Кб, 16 просмотров)
2
07.03.2023, 13:56

Не по теме:

Цитата Сообщение от Пытливый Посмотреть сообщение
я немножко подправил вам форму
Я бы кнопки на ToolBar заменил бы, а то и вообще на меню

0
 Аватар для Пытливый
3764 / 2272 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
07.03.2023, 14:02
Цитата Сообщение от D1973 Посмотреть сообщение
Я бы кнопки на ToolBar заменил бы, а то и вообще на меню
Ну это уже к ТС, а я хотел показать, как настроить те же компоненты для корректного отображения при изменении размера формы.
0
0 / 0 / 0
Регистрация: 21.02.2023
Сообщений: 42
09.03.2023, 08:32  [ТС]
Цитата Сообщение от D1973 Посмотреть сообщение
Развернул, не совсем дурак еще пока. У меня ноутбук 19" - этого мало оказалось!
Программу создавал на устройстве с экраном 24 дюйма, разрешением 1080x1920. На других устройствах не проверял.

Цитата Сообщение от mr-Crocodile Посмотреть сообщение
olnekit, чтобы понять, о чём я говорю, замени у себя в коде в строке 86 одну строчку SG.Canvas.Brush.Color := SG.Color;
Цитата Сообщение от Пытливый Посмотреть сообщение
Так компоненты на форме расставлять не надо иначе проблемы гарантированы почти у всех. Вот я немножко подправил вам форму и теперь она нормально будет отображаться на любом мониторе, без плясок с бубном. Там же я подправил немножко код отрисовки, с учетом особенностей Лазарус. Теперь текст не пропадает.
Понял в чём дело, надо было создать условие если (if) с заливкой цвета в ячейке я как понял ? Форма просто была некорректна отредактирована, но в настройках формы я сразу указал, чтобы открывалась во весь экран. На устройствах с меньшим экраном не проверял.

Всех благодарю за отзыв и за помощь по данной теме !

Добавлено через 3 часа 30 минут
Цитата Сообщение от mr-Crocodile Посмотреть сообщение
текст выбранной ячейки у тебя белым выделяется. и фон тоже белый. поэтому белым по белому - ничего не видно.
Понял причину.
0
Модератор
4153 / 2362 / 814
Регистрация: 15.11.2015
Сообщений: 9,496
09.03.2023, 09:22
Цитата Сообщение от olnekit Посмотреть сообщение
разрешением 1080x1920
Я смотрел на таком разрешении, если форму не развернуть на весь экран, то кнопок не видно, а если развернуть, то они у самой нижней границы формы, без отступов. Ну как-то совсем не удобно.

Добавлено через 20 минут
Цитата Сообщение от olnekit Посмотреть сообщение
надо было создать условие если (if) с заливкой цвета в ячейке я как понял ?
По хорошему, нужно проверять состояние aState и отрисовывать содержимое в зависимости от него. Можно поменять параметры для выделенной ячейки:
Delphi
1
2
3
4
5
6
7
    if gdSelected in aState then begin
      Canvas.Pen.Style := psDot;
      Canvas.Brush.Color := clYellow; // Меняем цвет фона .
      Canvas.Pen.Color := clRed;
      aRect.Inflate(0, 0, -1, -1); // Уменьшить ширину и высоту, иначе, не видно правой и нижней части рамки
      Canvas.Rectangle(aRect); // Рисуем рамку выделения ячейки
    end;
Можно отключить DefaultDrawing и вручную отрисовывать все ячейки.
0
0 / 0 / 0
Регистрация: 21.02.2023
Сообщений: 42
13.03.2023, 00:45  [ТС]
Цитата Сообщение от AzAtom Посмотреть сообщение
По хорошему, нужно проверять состояние aState и отрисовывать содержимое в зависимости от него. Можно поменять параметры для выделенной ячейки:
Понял, теперь буду знать, благодарю )))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.03.2023, 00:45

Как сделать перенос текста внутри одной ячейки StringGrid?
Как сделать перенос текста внутри одной ячейки StringGrid? Чтобы текст был в несколько строк в одной ячейке. Может свойство какое есть? Чет...

Значение одной ячейки первого StringGrid-а присвоить другой ячейке второго StringGrid-а
скажите пожалуйста, вот нам даны две таблицы stringgrid, как значение одной ячейки,первой таблицы, присвоить другой ячейке второй таблице?

Выделить вторую строку в ячейке таблицы | Word
Здравствуйте Коллеги! Прошу помощи в решении следующей задачи. Есть таблица в ней ячейка содержит текст из двух строк. Необходимо...

Автоматический перенос с одной таблице в word в другую
Неделю ломаю голову как сделать. Есть онлайн программа, которая создает ценники по выбранному наименованию товара, сохраняет в pdf...

Автоматический перенос текст с одной страницы на другую
Здравствуйте. Возникла такая проблема: я ежедневно добавляю новый текст на страницу, при этом часть старого текста переношу на следующую...


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

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

Новые блоги и статьи
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru