|
17 / 18 / 4
Регистрация: 27.06.2016
Сообщений: 236
|
|
Как сделать чтобы в элементе textBox или richTextbox строки терминировались по размеру текстового поля?26.03.2020, 23:12. Показов 968. Ответов 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 и вставить в код ? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO
Апнулись до NET10.
Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта
так и в интерактивном режиме. из сложностей - чисто функциональный подход.
Решил. . .
|
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2.
Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники".
В. . .
|
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии.
. . .
|
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
В качестве источника данных. . .
|