Text Field

From Apache OpenOffice Wiki
Jump to: navigation, search



The text field control com.sun.star.awt.UnoControlEdit is used to get input from the user at runtime. In general, the text field is used for editable text, but it can also be made read-only by setting the ReadOnly property to True. The actual text displayed in a text field is controlled by the Text property. The maximum number of characters that can be entered by the user is specified with the MaxTextLen property. A value of 0 means that there is no limitation. By default, a text field displays a single line of text. This behavior is changed by setting the property MultiLine to True. The properties HScroll and VScroll displays a horizontal and vertical scroll bar.

When a text field receives the focus by pressing the  TAB  key the displayed text is selected and highlighted by default. The default cursor position within the text field is to the right of the existing text. If the user starts typing while a block of text is selected, the selected text is replaced. In some cases, the user may change the default selection behavior and set the selection manually. This is done using the com.sun.star.awt.XTextComponent interface:

  Dim sText As String
  Dim oSelection As New com.sun.star.awt.Selection
 
  REM get control
  oTextField = oDialog.getControl("TextField1")
 
  REM set displayed text
  sText = "Displayed Text"
  oTextField.setText( sText )
 
  REM set selection
  oSelection.Min = 0
  oSelection.Max = Len( sText )
  oTextField.setSelection( oSelection )

Or in short:

  Dim oSelection As New com.sun.star.awt.Selection
 
  oTextField = oDialog.getControl("TextField1")
 
  oTextField.Text = "Displayed Text"
 
  oSelection.Min = 0
  oSelection.Max = Len( sText )
  oTextField.Selection = oSelection

The text field control is also used for entering passwords. The property EchoChar specifies the character that is displayed in the text field while the user enters the password. In this context, the MaxTextLen property is used to limit the number of characters that are typed in:

  oTextFieldModel = oDialog.Model.TextField1
  oTextFieldModel.EchoChar = Asc("*")
  oTextFieldModel.MaxTextLen = 8

A user can enter any kind of data into a text field, such as numerical values and dates. These values are always stored as a string in the Text property, thus leading to problems when evaluating the user input. Therefore, consider using a date field, time field, numeric field, currency field or formatted field instead.

Content on this page is licensed under the Public Documentation License (PDL).
Personal tools
In other languages