|
A text box is a Windows control used to get or display
text. At its most regular use, a text box serves as a place to fill out and
provide information. You can also use it only to display text without
allowing the user to change its content.
|
Like most other controls, the role of an edit box is
not obvious at first glance; that is why it should be accompanied by a
label that defines its purpose. From the user's standpoint, a text box is
named after the label closer to it. Such a label is usually on the left or
the top side of the corresponding edit box.
To add a text box to your project, from the Controls
section of the Ribbon, you can click the Text Box control
and click a section of the form or report. Unless you have a good
alternate reason, most of your text boxes will be placed in the Detail
section. Some text boxes used in expressions can be placed in another
section. By default, placing a text box on the form or report also adds a
corresponding label to its left.
To programmatically create a text box, call the
CreateConotrol() function and pass the ControlType as
acTextBox. The first argument is the name of the form or report on
which the text box will be positioned. The third argument specifies the
section where to position the text box. Here is an example:
Private Sub cmdCreateControl_Click()
Dim txtFirstName As Control
Set txtFirstName = CreateControl("Exercise", _
AcControlType.acTextBox, _
AcSection.acDetail)
Set txtFirstName = Nothing
End Sub
As mentioned already, a text box can be used to
display text, just like a normal control in a Microsoft Windows
application. In a database, a text box is typically used to display the
value of a field of a table. To make this possible, after specifying the
Record Source of its form or report and after visually adding a text box,
set its Control Source to the desired field of the table. If you are
programmatically creating the text box, to specify the field it must link
to, pass the name of the table as the fourth argument and pass the name of
the field as the fifth argument. This could be done as follows:
Private Sub cmdCreateControl_Click()
Dim txtFirstName As Control
Set txtFirstName = CreateControl("Exercise", _
AcControlType.acTextBox, _
AcSection.acDetail, _
"Students", "FirstName")
Set txtFirstName = Nothing
End Sub
If you are creating a text box that will not link to a
field of a table, you can pass the fourth argument as either the same as
the first argument or an empty string, and then pass the fifth argument
also as an empty string.
Like every control on a form or report, the dimensions
of the text box are controlled by its Width and Height
properties. You can change these in the Properties window of the text box.
You can also specify them if you are programmatically creating the
control. Here are examples:
Private Sub cmdCreateControl_Click()
Dim txtFirstName As Control
Set txtFirstName = CreateControl("Exercise", _
AcControlType.acTextBox, _
AcSection.acDetail, _
"Exercise", _
"", 1600, 260)
Set txtFirstName = Nothing
End Sub
The position of a text box is controlled by its Top
and Left properties. You can change them in the Properties window
of the text box. You can also specify them when programmatically creating
the control. Here are examples:
Private Sub cmdCreateControl_Click()
Dim txtFirstName As Control
Set txtFirstName = CreateControl("Fundamentals", _
AcControlType.acTextBox, _
AcSection.acDetail, _
"Fundamentals", _
"", 1600, 260, 1760, 260)
Set txtFirstName = Nothing
End Sub
To make a text box read-only, that is, if you don't
want the user to enter text in an edit box, there are various
alternatives. If you change the Enabled property from Yes to
No, the text box would have a gray background and cannot receive
focus. If you set the Locked property from No to Yes,
the control would appear with a normal (white) background.
The Special Effects property of the text box is
expanded as compared to that available on a label. Besides the ability to
raise or sink a text box, you can give it a thick, etched, or shadow
border.