элемент управления поле ввода предназначен для

Элементы управления формы 1С

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

Для обычных форм элементы управления настраиваются только конфигуратором, а для управляемых возможны определенные корректировки элементов в режиме 1С:Предприятие.

В элементах управления данные не хранятся!

Разделители являются специальными элементами, с помощью которых возможно перераспределение пространства формы без изменения ее размеров.

Платформа в режиме 1С:Предприятие для управляемых форм самостоятельно добавляет эти элементы в форму.

При построении обычных форм используются вертикальные и горизонтальные разделители.

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

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

Разделитель обладает способностью «захватываться» мышью и перемещаться внутри формы в ее пределах с учетом возможности расположения других элементов и ориентации разделителя.

Таким образом, элемент управления «Разделитель» позволяет перераспределять внутреннее пространство формы, изменяя размеры расположенных в ней элементов управления, привязанных к разделителю. Размеры самой формы при этом не меняются.

Команды формы редактируются в списке. Разработчик имеет возможность:

Для добавления команды в виде кнопки:

На закладках «Стандартные команды» и «Глобальные команды» разработчику предоставляются списки команд, генерируемых платформой и доступных для использования в данной форме. Их свойства изменять нельзя, можно только добавлять их в форму.

С помощью мыши разработчик может перетащить команду в командный интерфейс формы (платформа автоматически нарисует кнопку). Также можно перетащить команду и прямо в дерево элементов, если нужно, например, отобразить эту команду в виде кнопки, расположенной в форме (платформа автоматически нарисует кнопку).

Для кнопки можно определить процедуру-обработчик для события «Нажатие»; тем самым кнопка программируется для выполнения некого стандартного действия:

В качестве обработчика события «Нажатие» элемента управления «Кнопка» может быть выбрано:

Глобальную процедуру инициировать напрямую по кнопке нельзя.

Поясняющая информация на элементе управления «Кнопка» может быть представлена в виде:

Источник

Поле ввода

help edit

Элемент управления «Поле ввода» предназначен для ввода текстовой строки или числа с клавиатуры в графическом интерфейсе. Введенное значение передается в контроллер в соответствующее поле структуры RemoteXY. Поле ввода поддерживает ввод произвольного текста, ввод целого числа, ввод вещественного числа.

Структура данных

Данные Тип Значение
Для произвольного текста
Введенная строка char[x] Введенная текстовая строка UTF8 оканчивающаяся нулем, под строку выделено x байт
Для вещественного числа
Введенное число float (32 бит) Введенное значение числа
Для целого числа
Введенное число int16_t (16 бит) Введенное значение числа

Описание

Элемент управления «Поле ввода» позволяет ввести произвольную текстовую информацию или числовую информацию с экрана графического интерфейса. Поле ввода поддерживает три режима работы: ввод текста, ввод целого числа, ввод вещественного числа с плавающей точкой.

При вводе текста количество байт, выделяемых под строку задается в свойствах элемента. Используется кодировка UTF8, по этому необходимо учитывать, что под некоторые символы выделяется по 2 байта на символ.

При вводе вещественного числа необходимо указать количество разрядов после запятой, отображаемых в поле ввода.

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

Свойства элемента

Свойство Значение
Имя переменной Имя переменной в структуре RemoteXY по правилам языка C++
Цвет Цвет поля ввода
Тип вводимых данных Определяет тип вводимых данных. Доступные значения: текстовая строка, вещественное число, целое число.
Символов Количество байт, выделяемых под строку. Система автоматически добавит 1 байт для завершающего нуля. Свойство задается только для текстовой строки. Необходимо учитывать, что в кодировке UTF8 некоторые символы занимают 2 байта.
Десятичных знаков Количество знаков после запятой, отображаемых в поле ввода. Свойство задается только для вещественных чисел.
Выравнивание Горизонтальное выравнивание введенного текста. Доступные значения: слева, центр, справа.
Показывать фон Признак отображения фона поля ввода.
Кнопка очистки Признак отображения кнопки очистки поля ввода.

Примеры программирования Arduino IDE

Для проверки введенного в поле ввода текста на соответствие определенной строке, можно использовать следующий код:

if (strcmp (RemoteXY.edit_1, «OK»)==0) <
// TODO entered “OK”

Пример, как преобразовать введенную строку в числовой тип данных, в случае если для ввода данных используется произвольный текст:

Источник

Общие сведения об элементах управления «поле ввода»

В этом разделе рассматриваются следующие темы.

Версии расширенного редактирования

В следующей таблице показано, какая библиотека DLL соответствует версии расширенного редактирования. Обратите внимание, что имя файла не изменилось с версии 2,0 до версии 3,0. Это позволяет обновить версию 2,0 до версии 3,0 без разрушения существующего кода.

Расширенная версия редактирования DLL Класс окна
1,0 Riched32.dll _класс RichEdit
2.0 Riched20.dll _класс RichEdit
3.0 Riched20.dll _класс RichEdit
4.1 Msftedit.dll _класс мсфтедит

Расширенное редактирование версии 1,0

Microsoft Rich Editing 1,0 включает следующие функции.

Расширенное редактирование версии 2,0

Microsoft Rich Editing 2,0 включил несколько дополнительных функций, таких как поддержка Юникода и азиатских языков, многоуровневые операции отмены, интерфейсы модели COM и многочисленные улучшения пользовательского интерфейса.

Microsoft Rich Edit 2,0 включает в себя следующие функции в дополнение к функциям, предоставляемым Microsoft Rich edit 1,0.

За некоторыми исключениями Microsoft Rich Editing 2,0 использует те же функции, структуры и сообщения, что и Microsoft Rich Edit 1,0. Однако обратите внимание на следующие отличия.

Имя класса окна Microsoft Rich Edit 1,0 — RichEdit. Microsoft Rich Editing 2,0 содержит классы окон ANSI и Unicode RichEdit20A и RichEdit20W соответственно. Чтобы указать соответствующий класс расширенного окна редактирования, используйте _ константу класса RichEdit, которую определяет файл RichEdit. h в зависимости от определения флага компиляции Юникода.

В Microsoft Rich Edit 2,0 при создании элемента управления Rich Edit в Юникоде (который предполагает текстовые сообщения в Юникоде) необходимо указать только данные в Юникоде в сообщениях окон, отправляемых в элемент управления. Аналогичным образом, если вы создаете элемент управления Rich Edit в формате ANSI, отправляйте только данные ANSI или двухбайтовые кодировки (DBCS). Функцию исвиндовуникоде можно использовать, чтобы определить, использует ли форматируемый элемент управления «поле ввода» текстовые сообщения в Юникоде. Обратите внимание, что интерфейсы COM с богатыми возможностями редактирования используют текст в Юникоде, если не встречаются аргументы кодовой страницы.

Microsoft Rich Editing 1,0 использует сочетания символов CR/LF для маркеров абзаца. В Microsoft Rich Edit 2,0 используется только символ возврата каретки (» \ r»). Microsoft Rich Editing 3,0 использует только символ возврата каретки, но может эмулировать Microsoft Rich Edit 1,0 в этом отношении.

В Microsoft Rich Editing 2,0 появились следующие новые сообщения.

Сообщение Описание
EM _ аутаурлдетект Включает или отключает автоматическое обнаружение URL-адресов.
EM _ канредо Определяет, существуют ли какие либо действия в очереди повторов.
EM _ жетимекомпмоде Извлекает текущий режим редактора метода ввода (IME).
EM _ жетлангоптионс Получает параметры для поддержки IME и восточно-азиатского языка.
EM _ жетредонаме Возвращает имя типа следующего действия в очереди повтора.
EM _ жеттекстмоде Получает текстовый режим или уровень отмены.
EM _ жетундонаме Возвращает имя типа следующего действия в очереди отмены.
_Повтор EM Повторно выполняет следующее действие в очереди повтора.
EM _ сетлангоптионс Задает параметры для поддержки IME и восточно-азиатского языка.
EM _ сеттекстмоде Задает текстовый режим или уровень отмены.
EM _ сетундолимит Задает максимальное число действий в очереди отмены.
EM _ стопграуптипинг Останавливает группировку последовательных действий ввода в текущее действие отмены.

В Microsoft Rich Edit 2,0 появились следующие новые структуры.

Структура Описание
CHARFORMAT2 Содержит сведения о форматировании символов.
PARAFORMAT2 Содержит сведения о форматировании абзацев.

Следующие сообщения поддерживаются только в версиях Microsoft Rich Edit 1,0 для азиатских языков. Они не поддерживаются в более поздних версиях расширенного редактирования.

Расширенное редактирование версии 3,0

Microsoft Rich Edit 3,0 — это единая, масштабируемая библиотека DLL, которая обеспечивает высокую производительность и совместимость с Word в небольших пакетах. Новые функции Microsoft Rich Edit 3,0 содержат более широкие возможности текста, масштабирования, привязки шрифтов, более мощную поддержку IME и расширенную поддержку сложных скриптов (двунаправленная, Индийская и тайская).

Microsoft Rich Edit 3,0 включает в себя следующие функции в дополнение к функциям, предоставляемым с помощью расширенного редактирования версии 2,0.

Расширенное редактирование версии 4,1

Класс Window для Microsoft Rich Edit 4,1 является _ классом мсфтедит. Новые возможности Microsoft Rich Edit 4,1 включают поддержку переносов, поворота страниц и поддержки платформы текстовых служб (TSF).

Microsoft Rich Edit 4,1 включает в себя следующие функции в дополнение к функциям, предоставляемым с помощью расширенного редактирования версии 3,0.

Неподдерживаемые функции элемента управления Edit

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

Следующие сообщения обрабатываются элементами управления Edit, но не элементами управления Rich Edit.

Следующие стили окон используются с многострочными элементами управления для редактирования, но не с широкими элементами управления редактированием: _ строчные буквы ES, _ прописные буквыES и ES _ оемконверт.

Сочетания клавиш для расширенного редактирования

Элементы управления Rich Edit поддерживают следующие сочетания клавиш.

Источник

Текстовое поле

Элемент управления TextBox позволяет пользователю вводить текст в приложение. Обычно он используется для записи одной строки текста. Но элемент можно настроить и для записи нескольких строк. Текст отображается на экране в простом унифицированном формате обычного текста.

Элемент TextBox имеет несколько компонентов, которые могут упростить ввод текста. В этом элементе работает привычное встроенное контекстное меню с поддержкой копирования и вставки текста. Кнопка «Очистить все» позволяет пользователю быстро удалить весь введенный текст. В нем также есть встроенные функции проверки орфографии, которые включены по умолчанию.

Получение библиотеки пользовательского интерфейса Windows

Библиотека пользовательского интерфейса Windows 2.2 или более поздних версий содержит новый шаблон для этого элемента управления, который использует закругленные углы. Дополнительные сведения см. в разделе о радиусе угла. WinUI — это пакет NuGet, содержащий новые элементы управления и функции пользовательского интерфейса для приложений для Windows. Дополнительные сведения, включая инструкции по установке, см. в описании библиотеки пользовательского интерфейса Windows.

Выбор правильного элемента управления

Используйте элемент управления TextBox, чтобы пользователь мог вводить и редактировать неформатированный текст, в частности, в форме. С помощью свойства Text можно получить и задать текст в элементе управления TextBox.

Вы можете сделать элемент TextBox предназначенным только для чтения. Но это должно быть временным, условным состоянием. Если текст не редактируется, попробуйте использовать элемент TextBlock.

Элемент управления PasswordBox можно использовать для сбора паролей или других конфиденциальных данных, например номеров карт социального страхования. Поле ввода пароля внешне похоже на поле текстового ввода с той разницей, что в нем вместо вводимого текста отображаются маркеры.

Используйте элемент управления AutoSuggestBox, чтобы позволить пользователю искать термины или показать пользователю список рекомендаций для выбора во время ввода.

Элемент RichEditBox служит для отображения и правки текстовых файлов.

Дополнительные сведения можно найти в статье об элементах управления текстом.

Примеры

Если у вас установлено приложение галереи элементов управления XAML, щелкните здесь, чтобы открыть приложение и увидеть TextBox в действии.

text

Создание текстового поля

Вот код XAML для простого текстового поля с заголовком и замещающим текстом.

Ниже показано текстовое поле, полученное в результате выполнения этого фрагмента кода XAML.

text box

Использование текстового поля для ввода данных в форму

Текстовое поле часто используется, чтобы принять ввод данных в форму и получить полную текстовую строку из текстового поля с помощью свойства Text. Обычно доступ к свойству Text осуществляется в таких событиях, как нажатие кнопки «Отправить». Но вы можете использовать событие TextChanged или TextChanging, если нужно выполнить какие-либо действия сразу при изменении текста.

В этом примере показано, как получить и задать текущее содержимое текстового поля.

К текстовому полю можно добавить Header (или метку) и PlaceholderText (или водяной знак), чтобы пользователь понимал, для чего оно используется. Чтобы настроить оформление заголовка, задайте свойство HeaderTemplate вместо Header. Сведения о проектировании см. в руководстве по использованию меток.

Вы можете ограничить число вводимых пользователем символов, настроив свойство MaxLength. Но свойство MaxLength не ограничивает длину вставленного текста. Используйте событие Paste, чтобы изменить вставленный текст, если это важно для вашего приложения.

В текстовом поле есть кнопка «Очистить все» («X»), которая появляется при введении текста в поле. Когда пользователь нажимает кнопку «X», текст в поле удаляется. Это выглядит следующим образом:

text box clear all

Кнопка «Очистить все» отображается только для редактируемых однострочных текстовых полей, которые содержат текст и имеют фокус.

Кнопка «Очистить все» не отображается в любом из перечисленных ниже случаев.

В этом примере показано, как получить и задать текущее содержимое текстового поля.

Текст, предназначенный только для чтения

Текстовое поле можно сделать доступным только для чтения, присвоив свойству IsReadOnly значение true. Обычно вы переключаете это свойство в приложении, исходя из условий в приложении. Если вам нужен текст, который всегда предназначен только для чтения, воспользуйтесь элементом TextBlock.

Объект TextBox можно сделать доступным только для чтения, присвоив свойству IsReadOnly значение true. Например, у вас может быть элемент TextBox для пользовательских комментариев, который включается только при определенных условиях. Элемент TextBox можно сделать предназначенным только для чтения, пока не будут выполняться эти условия. Если вам нужно только отобразить текст, воспользуйтесь элементом TextBlock или RichTextBlock.

Текстовое поле, предназначенное только для чтения, ничем не отличается от текстового поля, предназначенного для чтения и записи. Поэтому пользователь может растеряться. Пользователь может выделять и копировать текст. IsEnabled

Включение многострочного ввода

Есть два свойства, которые позволяют управлять отображением текста на нескольких строках в текстовом поле. Обычно нужно указать оба эти свойства, чтобы сделать текстовое поле многострочным.

Примечание. Элементы TextBox и RichEditBox не поддерживают значение WrapWholeWords для своих свойств TextWrapping. Если попытаться указать WrapWholeWords в качестве значения для параметра TextBox.TextWrapping или RichEditBox.TextWrapping, отобразится исключение с сообщением о недействительном аргументе.

Многострочное текстовое поле будет постоянно увеличиваться по вертикали по мере ввода текста, если нет ограничений в свойстве Height, MaxHeight или родительском контейнере. Следите за тем, чтобы многострочное текстовое поле не выходило за пределы видимой зоны. Если это произошло, ограничьте его увеличение. Мы рекомендуем всегда указывать целесообразную высоту для многострочного текстового поля и не позволять ему увеличиваться в высоту во время ввода текста пользователем.

Прокрутка с помощью колесика прокрутки или пальца включается автоматически по мере необходимости. Но вертикальные полосы прокрутки не отображаются по умолчанию. Вы можете отобразить вертикальные полосы прокрутки, установив для параметра ScrollViewer.VerticalScrollBarVisibility значение Auto для встроенного класса ScrollViewer, как показано здесь.

Вот как выглядит текстовое поле после добавления текста.

text box multi line

Форматирование отображаемого текста

Используйте свойство TextAlignment для выравнивания текста в текстовом поле. Чтобы выровнять текстовое поле в рамках макета страницы, используйте свойства HorizontalAlignment и VerticalAlignment.

Хотя текстовое поле поддерживает только неформатированный текст, вы можете настроить отображение текста в текстовом поле в соответствии с фирменным оформлением. Можно задать стандартные свойства Control, например, FontFamily, FontSize, FontStyle, Background, Foreground и CharacterSpacing, чтобы изменить внешний вид текста. Эти свойства влияют только на то, как текстовое поле отображает текст локально. Например, если скопировать и вставить текст в элемент управления для форматированного текста, форматирование не будет применено.

В этом примере показано текстовое поле, предназначенное только для чтения, с несколькими настроенными свойствами для внешнего вида текста.

Созданное текстовое поле выглядит следующим образом:

text box formatted

Изменение контекстного меню

По умолчанию команды, отображаемые в контекстном меню текстового поля, зависят от состояния текстового поля. Например, если текстовое поле является редактируемым, отображаются следующие команды:

Команда Отображается, когда.
Копировать . текст выделен.
Вырезать . текст выделен.
Вставить . буфер обмена содержит текст.
Выбрать все . элемент TextBox содержит текст.
Отмена . текст был изменен.

Чтобы изменить команды, отображаемые в контекстном меню, обрабатывайте событие ContextMenuOpening. См. пример такой обработки с добавлением свойства Share в поле CommandBarFlyout элемента управления RichEditBox в коллекции элементов управления XAML. Сведения о проектировании см. в руководстве по контекстным меню.

Выделение, копирование и вставка

Получить выбранный текст из текстового поля или задать его можно с помощью свойства SelectedText. Чтобы управлять выделением текста, используйте свойства SelectionStart и SelectionLength, а также методы Select и SelectAll. Событие SelectionChanged позволяет выполнять действия, пока пользователь выбирает или отменяет выбор текста. Вы можете изменить цвет, используемый для выделения выбранного текста, настроив свойство SelectionHighlightColor.

Элемент TextBox поддерживает копирование и вставку по умолчанию. Вы можете реализовать в приложении пользовательскую обработку события Paste в редактируемых текстовых элементах управления. Например, можно удалить разрывы строк из многострочного адреса при вставке в однострочное поле поиска. Или вы можете проверить длину вставленного текста и предупредить пользователя, если превышает максимальную длину текста, который можно сохранить в базе данных. Дополнительные сведения и примеры см. в статье о событии Paste.

Ниже приведен пример применяемых для этого свойств и методов. При выборе текста в первом текстовом поле выбранный текст отображается во втором текстовом поле, которое доступно только для чтения. Значения свойств SelectionLength и SelectionStart отображаются в двух текстовых блоках. Для этого используется событие SelectionChanged.

Вот результат выполнения этого кода.

text box selection

Выбор подходящей клавиатуры для элемента управления текстом

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

Сенсорная клавиатура позволяет вводить текст, если приложение выполняется на устройстве с сенсорным экраном. Сенсорная клавиатура появляется, когда пользователь касается редактируемого поля ввода, например, TextBox или RichEditBox. Пользователи смогут вводить данные в вашем приложении гораздо быстрее и с меньшими усилиями, если вы настроите тип вводимых данных элемента управления текстом в соответствии с типом вводимых данных. Тип вводимых данных предоставляет системе подсказку о типе текстового ввода, ожидаемого элементом управления. Благодаря этому система может отобразить специальную раскладку сенсорной клавиатуры в соответствии с используемым типом ввода.

Например, если текстовое поле используется только для ввода 4-значного PIN-кода, установите для свойства InputScope значение Number. Это сообщает системе, что нужно отобразить раскладку цифровой клавиатуры, благодаря чему пользователю проще вводить PIN-код.

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

Другие свойства, влияющие на сенсорную клавиатуру: IsSpellCheckEnabled, IsTextPredictionEnabled и PreventKeyboardDisplayOnProgrammaticFocus. (IsSpellCheckEnabled также влияет на элемент TextBox при использовании аппаратной клавиатуры.)

Дополнительные сведения и примеры см. в статье Использование типа вводимых данных для изменения сенсорной клавиатуры и в документации по свойствам.

Рекомендации

Поля ввода из одной строки

Используйте несколько однострочных текстовых полей для сбора небольших фрагментов текстовой информации. Если текстовые поля связаны между собой, сгруппируйте их.

Делайте однострочные текстовые поля немного шире предполагаемого текста. Если элемент управления получится слишком широким, разделите его на два элемента. Например, можно разделить однострочное поле адреса на «Адрес, строка 1» и «Адрес, строка 2».

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

Чтобы пользователи могли вводить маленькие фрагменты текста, используйте однострочные элементы управления.

В следующем примере показано текстовое поле для записи ответа на вопрос безопасности. Так как предполагается краткий ответ, то здесь вполне подходит поле, состоящее из одной строки.

single line text input type

Для ввода данных особого формата используйте набор коротких однострочных элементов управления фиксированного размера.

textinput example productkey

Для ввода или правки текста используйте однострочный элемент управления неограниченного размера в сочетании с кнопкой, нажав на которую, пользователь сможет выбрать допустимое значение.

textinput example assisted

Элементы управления для ввода многострочного текста

При создании текстового поля в формате RTF следует предусмотреть кнопки стиля и реализовать их действия.

Используйте шрифт, соответствующий стилю вашего приложения.

Высота текстового элемента управления должна быть достаточной для ввода типичных записей.

При записи больших объемов текста с ограничением количества символов или слов используйте простое текстовое поле. Предоставьте динамический счетчик, показывающий пользователю, сколько символов или слов у него осталось до достижения максимального ограничения. Счетчик придется создать самостоятельно. Разместите его под текстовым полем и обеспечьте динамическое обновление при вводе пользователем символов или слов.

multi line text input text limits

При вводе пользователем текста элементы управления не должны увеличиваться по высоте.

Не используйте поле для многострочного текста там, где требуется ввести всего одну строку.

Не используйте поле с форматом там, где достаточно элемента управления обычного текста.

Источник

Adblock
detector