|
17 / 18 / 4
Регистрация: 27.06.2016
Сообщений: 236
|
|
Как сделать чтобы в элементе textBox или richTextbox строки терминировались по размеру текстового поля?26.03.2020, 23:12. Показов 924. Ответов 7
В общем проблема такая: Нужно из элемента text box или аналогичного ему извлечь строки, причём строки должны быть такими какими они видны в текстовом поле.
С дефолтными настройками элемент textbox вставляет в текст символ переноса строки только если самому нажать enter иначе для него введённый в поле текст из 10 строк это одна сплошная строка. Как я делаю. Я маршалингом перекодирую в массив char и там ищу символ переноса строки. Их там 2 это символ с кодом 13 и с кодом 10. Так называемый массив строк который есть в свойствах этого текстбокса также строками считает только то что терминировано символом переноса строки. Что же делать ? как вытащить строки в том виде как они выглядят визуально.? Идеально бы меня устроила двухмерная матрица из символов размером в точности как текст на экране. И в догонку ещё вопрос, как сделать чтобы перенос текста был не по словам а по буквам? свойство wordwrap либо переносит по словам либо вообще не переносит. А я хочу чтобы строка ломалась в любом месте.
0
|
|
| 26.03.2020, 23:12 | |
|
Ответы с готовыми решениями:
7
Сделать возможным перенос строк в TextBox. Или сделать, чтобы RichTextBox отображал текст неформатированным (как TextBox) Как сделать подсчет строчек в RichTextBox или TextBox Как сделать, чтобы при нажатии кнопок увеличить/уменьшить, размер текстового поля(textarea) ? |
|
Just Do It!
|
|||||||
| 30.03.2020, 21:18 | |||||||
0
|
|||||||
|
17 / 18 / 4
Регистрация: 27.06.2016
Сообщений: 236
|
|
| 31.03.2020, 09:43 [ТС] | |
|
Вы совершенно правы но есть одна проблема. Вы не знаете как текст выглядит в окне и каким образом он его переносит. Вы строки отмеряли по количеству символов но в окне они переломаны с переноса по словам.
Я пока что обдумываю вариант делать именно то что вы написали при каждом изменении текста и принудительно вставлять символы перехода на новую строку. Может тогда видимый текст будет соответствовать его разметке в массиве символов. Вообще конечно подход майкрософта удивляет. Если включён алгоритм переноса по словам то какого фига при этом не вставляется символ перехода на новую строку? Судя по тому что например в хтмловских обьектах ровно такая же история, видимо корни уходят куда-то совсем к другой системе откуда все эти обьекты были позаимствованы. Может это с мака или юниксов утянули?
0
|
|
|
17 / 18 / 4
Регистрация: 27.06.2016
Сообщений: 236
|
|
| 31.03.2020, 15:28 [ТС] | |
|
Не совсем так. Я отправляю этот текст на устройство, и этому устройству требуется массив где каждая строка строгой длинны а вместо недостающих символов нужно ставить нули.
Я сделал текст бокс именно такой ширины чтобы это соответствовало нужной длинные строк. Это что-то вроде визивиг редактора. А у него у этого текст бокса, видимые переломы строк не всегда соответствуют тому где стоят символы новой строки. Например если я сам не нажал ентер то он дойдя до края переносит текст на новую строку но символ перевода строки не вставляет в этот текст. В этом то и вся проблема. Придётся наверное как я говорил прогонять весь текст после каждого изменения и вставлять символы новой строки.
0
|
|
|
17 / 18 / 4
Регистрация: 27.06.2016
Сообщений: 236
|
|
| 05.04.2020, 00:49 [ТС] | |
|
Обнаружилась новая проблема. Когда я попытался перебрать содержимое textbox посимвольно, то оказалось что его можно только читать а менять нельзя. Если я правильно понял то можно только присваивать сразу полностью весь текст.
В связи с чем возникает вопрос, а в массив какого типа можно копировать элементы взятые из string^? char то ведь однобайтный а string^ похоже состоит из двухбайтного unicode или windows 1251 (тоже вопрос) Может кто-нибудь подскажет где есть описание всех типов c++/cli ?
0
|
|
|
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
|
||||||
| 05.04.2020, 19:41 | ||||||
0
|
||||||
|
17 / 18 / 4
Регистрация: 27.06.2016
Сообщений: 236
|
|
| 12.04.2020, 22:14 [ТС] | |
|
В общем проблема какая-то непобедимая это просто заговор приората сиона.
В textboxe Никаким образом не возможно ограничить длину вводимой строки. 1) Ограничение размеров даёт только ограничение видимой области всё что не влезло скролируется. 2) Если отключить скролирование то все равно скролируется но без видимых скролеров. 3) Установка свойства wordwrap=true вроде бы даёт нужный результат. Казалось бы текст переносится и длина строк ограничена. Но не тут то было. То как текст выглядит в форме не соответстыует реальному его форматированию. Тоетсть строки переносятся по словам но как ни удивительно символ переноса строки при этом не вставляется. Из этого выходит что вычислить реальное форматирование текста практически невозможно. Причины этого ,могу предположить, состоят в том чтобы было не возможно создавать визуально конфигурируемые компоненты. Например вы хотите сделать сайт который можно редатировать не прибегая к кодированию а менять текст прямо в онлайне. Но поскольку вы не можете ввести текст так как он будет выглядеть то вы и не сможете сделать такой сайт. Создание визуально конфигурируемых программ и сайтов умножает на ноль значительную часть великих мастеров создания и подгонки сайтов и разного рода софта.
0
|
|
| 12.04.2020, 22:14 | |
|
Помогаю со студенческими работами здесь
8
Как сделать, чтобы можно было взять тригонометрическую функцию из файла или textBox и вставить в код ? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|