Field.h
declares the API that this chapter describes. For more information on fields, see the section "Fields" in the Palm OS Programmer's Companion.
FieldAttrType
bit field defines the visible characteristics of the field. The functions
FldGetAttributes
and
FldSetAttributes
return and set these values. There are other functions that retrieve or set individual attributes defined here. Those functions are noted below.
typedef struct {
    UInt16 usable :1;
    UInt16 visible :1;
    UInt16 editable :1;
    UInt16 singleLine :1;
    UInt16 hasFocus :1;
    UInt16 dynamicSize :1;
    UInt16 insPtVisible :1;
    UInt16 dirty :1;
    UInt16 underlined :2;
    UInt16 justification :2;
    UInt16 autoShift :1;
    UInt16 hasScrollBar :1;
    UInt16 numeric :1;
} FieldAttrType;
FieldPtr
type defines a pointer to a
FieldType
structure.
typedef FieldType* FieldPtr;
FieldPtr
as an argument to all field functions. You can obtain the FieldPtr
using the function
FrmGetObjectPtr
in this way:
fldPtr = FrmGetObjectPtr(frm,
FrmGetObjectIndex(frm, fldID));
fldID
is the resource ID assigned when you created the field.
FieldType
structure represents a field.
typedef struct {
    UInt16 id;
    RectangleType rect;
    FieldAttrType attr;
    Char *text;
    MemHandle textHandle;
    LineInfoPtr lines;
    UInt16 textLen;
    UInt16 textBlockSize;
    UInt16 maxChars;
    UInt16 selFirstPos;
    UInt16 selLastPos;
    UInt16 insPtXPos;
    UInt16 insPtYPos;
    FontID fontID;
    UInt8 reserved;
} FieldType;
FieldType
structure as opaque. Use the functions specified in the descriptions below to retrieve and set each value. Do not attempt to change structure member values directly.
id
| ID value you specified when you created the field resource. This ID value is included as part of the event data of fldEnterEvent. |
rect
|
Position and size of the field object. The functions FldGetBounds , FrmGetObjectBounds , FldSetBounds , and FrmSetObjectBounds retrieve and set this value.
|
attr
|
Field object attributes. (See FieldAttrType .)
|
text
|
Pointer to the NULL -terminated string that is displayed by the field object. The functions FldGetTextPtr and FldSetTextPtr retrieve and set this value (see below). Never set the value of this field directly using a function such as StrCopy .
|
textHandle
|
Handle to the stored text or to a database record containing the stored text. The functions FldGetTextHandle and FldSetTextHandle retrieve and set this value.
|
If textHandle is defined, the field calculates the text pointer when it locks the handle. In general, you should only use FldGetTextPtr and FldSetTextPtr on text fields that aren't editable. On editable text fields, use FldGetTextHandle and FldSetTextHandle .
| |
Also note that editable text fields allocate the text handle as necessary. If a user starts typing in a field that doesn't have a text handle allocated, the field will allocate one. The field also resizes the text's memory block as necessary when the user adds more text. | |
lines
|
Pointer to an array of LineInfoType structures. There is one entry in this array for each visible line of the text. (See LineInfoType .) The field code maintains this array internally; you should never change the lines array yourself.
|
textLen
|
Length in bytes of the string currently displayed by the field object; the null terminator is excluded. You can retrieve this value with FldGetTextLength .
|
textBlockSize
|
Allocated size of the memory block that holds the field object's text string. You can retrieve this value with FldGetTextAllocatedSize .
|
Fields allocate memory for the field text as needed, several bytes at a time. | |
Note that textBlockSize may be different from the size of the chunk pointed to by textHandle . The textHandle may point to a database record that contains, in part, the text displayed by the field. If you called MemHandleSize on such a textHandle , the number returned may be greater than textBlockSize .
| |
maxChars
|
Maximum number of bytes the field object accepts. The functions FldGetMaxChars and FldSetMaxChars retrieve and set this value.
|
Note the difference between textLen , textBlockSize , and maxChars . textLen is the size of the characters that text actually holds. textBlockSize is the amount of memory currently allocated for the text (which must be greater than or equal to textLen ), and maxChars sets the maximum value that textBlockSize and textLen can expand to.
| |
For example, if you've created a text field for users to enter their first names in, you might specify that the maximum length of this field is 20 characters. If a user enters "John" in this field, textLen is 4, textBlockSize is 16, and maxChars is 20.
| |
selFirstPos
|
Starting character offset in bytes of the current selection. Use FldGetSelection and FldSetSelection to retrieve and set this value and the selLastPos value.
|
selLastPos
|
Ending character offset in bytes of the current selection. When selFirstPos equals selLastPos , there is no selection.
|
insPtXPos
|
Horizontal location of the insertion point, given as the offset in bytes into the line indicated by insPtYPos . The functions FldGetInsPtPosition and FldSetInsPtPosition retrieve and set this value.
|
insPtYPos
| Vertical location of the insertion point, given as the display line where the insertion point is positioned. The first display line is zero. The first display line may be different from the first line of text in the field if the field has been scrolled. |
fontID
|
Font ID for the field. See Font.h for more information. The functions FldGetFont and FldSetFont retrieve and set this value.
|
reserved
| Reserved for future use. |
LineInfoPtr
type defines a pointer to the
LineInfoType
.
typedef LineInfoType* LineInfoPtr;
LineInfoType
structure defines an element in the field's lines
array. The lines
array contains the field's word wrapping information. There is one element in the array per visible line in the field, including visible lines that contain no text. The field code maintains this array internally; you should never change the lines
array yourself.
FldCalcFieldHeight
,
FldGetVisibleLines
,
FldRecalculateField
, and
FldGetNumberOfBlankLines
retrieve or set information in this structure. The scrolling functions
FldGetScrollPosition
,
FldGetScrollValues
,
FldScrollField
, and
FldSetScrollPosition
also retrieve or set information in this structure.
typedef struct {
    UInt16 start;
    UInt16 length;
} LineInfoType;
UInt16 FldCalcFieldHeight (const Char* chars, UInt16 maxWidth)
  |
-> |
Pointer to a null-terminated string. |
  |
-> |
Maximum line width in pixels. |
rect
member of the
FieldType
structure. You can retrieve this value in the following way:
FrmGetObjectBounds(frm,
    FrmGetObjectIndex(frm, fldID),
    &myRect);
fieldWidth = myRect.extent.x;
FldCalcFieldHeight(myString, fieldWidth);
FldWordWrap
void FldCompactText (FieldType* fldP)
FldGetTextAllocatedSize
,
FldSetTextAllocatedSize
void FldCopy (const FieldType* fldP)
FldCut
,
FldPaste
void FldCut (FieldType* fldP)
FldCopy
,
FldPaste
,
FldUndo
void FldDelete (FieldType* fldP, UInt16 start, UInt16 end)
  |
-> |
Pointer to the field object ( FieldType structure) to delete from. |
  |
-> |
The beginning of the range of characters to delete given as a valid byte offset into the field's text string. |
start
or end
point to an intra-character boundary, FldDelete
attempts to move the offset backward, toward the beginning of the text, until the offset points to an inter-character boundary (i.e., the start of a character).
FldDelete
posts a
fldChangedEvent
to the event queue. If you call this function repeatedly, you may overflow the event queue with fldChangedEvents
. An alternative is to remove the text handle from the field, change the text, and then set the field's handle again. See
FldGetTextHandle
for a code example.
FldInsert
,
FldEraseField
,
TxtCharBounds
true
if the field has been modified since the text value was set.
Boolean FldDirty (const FieldType* fldP)
true
if the field has been modified either by the user or through calls to certain functions such as
FldInsert
and
FldDelete
, false
if the field has not been modified.
FldSetDirty
,
FieldAttrType
void FldDrawField (FieldType* fldP)
usable
attribute must be true
or the field won't be drawn.
FldEraseField
void FldEraseField (FieldType* fldP)
FrmHideObject
, which calls FldEraseField
for you.
visible
attribute to false
. (See
FieldAttrType
.)
FldDrawField
void FldFreeMemory (FieldType* fldP)
textHandle
member of the FieldType
data structure points to.textHandle
is NULL
but there is a text
string associated with that field (which is often the case with noneditable text fields), the text string is not freed.
lines
member of the FieldType
data structure points to.text
is NULL
and the user starts typing in the field, the field simply allocates memory for text and continues.
void FldGetAttributes (const FieldType* fldP, FieldAttrPtr attrP)
  |
-> |
Pointer to a FieldType structure. |
  |
<- |
Pointer to the FieldAttrType structure. |
attrP
parameter.
FldSetAttributes
void FldGetBounds (const FieldType* fldP, RectanglePtr rect)
  |
-> |
Pointer to a field object ( FieldType structure). |
  |
<- |
Pointer to a RectangleType structure. |
RectangleType
structure reference by rect
.
rect
field of the FieldType
structure.
FldSetBounds
,
FrmGetObjectBounds
FontID FldGetFont (const FieldType* fldP)
FldSetFont
UInt16 FldGetInsPtPosition (const FieldType* fldP)
FldSetInsPtPosition
UInt16 FldGetMaxChars (const FieldType* fldP)
maxChars
field in FieldType
.
FldSetMaxChars
UInt16 FldGetNumberOfBlankLines (const FieldType* fldP)
NoteViewScroll
function in the Address sample application for an example.
UInt16 FldGetScrollPosition (const FieldType* fldP)
FldSetScrollPosition
,
LineInfoType
void FldGetScrollValues (const FieldType* fldP, UInt16* scrollPosP, UInt16* textHeightP, UInt16* fieldHeightP)
  |
-> |
Pointer to a FieldType structure. |
  |
<- |
The line of text that is the topmost visible line. Line numbering starts with 0. |
  |
<- |
The number of lines needed to display the field's text, given the width of the field. |
  |
<- |
The number of visible lines in the field. |
SclSetScrollBar
to update the scroll bar. For example:
FldGetScrollValues (fldP, &scrollPos,
    &textHeight, &fieldHeight);
if (textHeight > fieldHeight)
    maxValue = textHeight - fieldHeight;
else if (scrollPos)
    maxValue = scrollPos;
else
    maxValue = 0;
SclSetScrollBar (bar, scrollPos, 0, maxValue,
    fieldHeight-1);
}
FldSetScrollPosition
void FldGetSelection (const FieldType* fldP, UInt16* startPosition, UInt16* endPosition)
  |
-> |
Pointer to a field object ( FieldType structure). |
  |
<- |
Pointer to the start of the selected characters range, given as the byte offset into the field's text. |
  |
<- |
Pointer to end of the selected characters range given as the byte offset into the field's text. |
startPosition
and endPosition
.
startPosition
will contain the value 0 and endPosition
the value 5, assuming all characters are a single byte long.
FldSetSelection
UInt16 FldGetTextAllocatedSize (const FieldType* fldP)
textBlockSize
field in
FieldType
.
FldSetTextAllocatedSize
MemHandle FldGetTextHandle (const FieldType* fldP)
NULL
if no handle has been allocated for the field pointer.
FldSetText
to set the field's text to a string that is part of a database record, the text handle points to the start of that record. You'll need to compute the offset from the start of the record to the start of the string. You can either store the offset that you passed to FldSetText
or you can compute the offset by performing pointer arithmetic on the pointer you get by locking this handle and the pointer returned by
FldGetTextPtr
.
/* Get the handle for the string and unlock */
/* it by removing it from the field. */
textH = FldGetTextHandle(fldP);
FldSetTextHandle (fldP, NULL);
/* Insert code that modifies the string here.*/
/* The basic steps are: */
/* resize the chunk if necessary,*/
/* lock the chunk, write to it, and then */
/* unlock the chunk. If the text is in a */
/* database record, use Data Manager calls. */
/* Update the text in the field. */
FldSetTextHandle (fldP, textH);
FldDrawField(fldP);
FldSetTextHandle
,
FldGetTextPtr
UInt16 FldGetTextHeight (const FieldType* fldP)
FldCalcFieldHeight
UInt16 FldGetTextLength (const FieldType* fldP)
textLen
field of FieldType
.
Char* FldGetTextPtr (FieldType* fldP)
FldGetTextHandle
.
UInt16 FldGetVisibleLines (const FieldType* fldP)
lines
array in the FieldType
structure.)
FldGetNumberOfBlankLines
,
FldCalcFieldHeight
void FldGrabFocus (FieldType* fldP)
FrmSetFocus
, which calls FldGrabFocus
for you.
FldGrabFocus
directly is to programmatically set the focus in a field that is contained in a table cell.
hasFocus
to true
. (See
FieldAttrType
.)
FrmSetFocus
,
FldReleaseFocus
Boolean FldHandleEvent (FieldType* fldP, EventType* eventP)
  |
-> fldP |
Pointer to a field object ( FieldType structure). |
  |
-> eventP |
Pointer to an event (EventType data structure). |
true
if the event was handled.
menuCmdBarOpenEvent
occurs, the field adds paste, copy, cut, and undo buttons to the command toolbar. These buttons are only added if they make sense in the current context. That is, the cut button is only added if the field is editable, the paste button is only added if there is text on the clipboard and the field is editable, and the undo button is only added if there is an action to undo.
FldHandleEvent
only handles the menuCmdBarOpenEvent
if 3.5 New Feature Set is present.
Boolean FldInsert (FieldType* fldP, const Char* insertChars, UInt16 insertLen)
  |
-> fldP |
Pointer to the field object ( FieldType structure) to insert to. |
  |
-> insertChars |
Text string to be inserted. |
  |
-> insertLen |
Length in bytes of the text string to be inserted, not counting the trailing null character. |
fldChangedEvent
to the event queue. If you call this function repeatedly, you may overflow the event queue with fldChangedEvents
. An alternative is to remove the text handle from the field, change the text, and then set the field's handle again. See
FldGetTextHandle
for a code example.
Boolean FldMakeFullyVisible (FieldType* fldP)
true
if the field is dynamically resizable and was not fully visible; false otherwise.
dynamicSize
attribute is true
(see
FieldAttrType
).
fldHeightChangedEvent
. If the field is directly on a form, your application code should handle the fldHeightChangedEvent
itself. The form code does not handle the event for you. Note that the constant maxFieldLines
defines the maximum number of lines a field can expand to if the field is using the standard font.
TblHandleEvent
FieldType *FldNewField (void **formPP, UInt16 id, Coord x, Coord y, Coord width, Coord height, FontID font, UInt32 maxChars, Boolean editable, Boolean underlined, Boolean singleLine, Boolean dynamicSize, JustificationType justification, Boolean autoShift, Boolean hasScrollBar, Boolean numeric)
  |
-> id |
Symbolic ID of the field, specified by the developer. By convention, this ID should match the resource ID (not mandatory). |
  |
-> x |
Horizontal coordinate of the upper-left corner of the field's boundaries, relative to the window in which it appears. |
  |
-> y |
Vertical coordinate of the upper-left corner of the field's boundaries, relative to the window in which it appears. |
  |
-> width |
Width of the field, expressed in pixels. |
  |
-> height |
Height of the field, expressed in pixels. |
  |
-> |
Font to use to draw the field's text. |
  |
-> |
Maximum number of bytes held by the field this function creates. |
  |
-> editable |
Pass true to create a field in which the user can edit text. Pass false to create a field that cannot be edited. |
  |
-> singleLine |
Pass true to create a field that can display only a single line of text. |
  |
-> dynamicSize |
Pass true to create a field that resizes dynamically according to the amount of text it displays. |
  |
-> justification |
Pass either of the values leftAlign or rightAlign to specify left justification or right justification, respectively. The centerAlign value is not supported. |
  |
-> autoShift |
Pass true to specify the use of Palm OS 2.0 (and later) auto-shift rules. |
  |
-> hasScrollBar |
Pass true to attach a scroll bar control to the field this function creates. |
  |
-> numeric |
Pass true to specify that only characters in the range of 0 through 9 are allowed in the field. |
NULL
if there wasn't enough memory to create the field. Out of memory situations could be caused by memory fragmentation.
WinValidateHandle
, CtlValidatePointer,
FrmRemoveObject
void FldPaste (FieldType* fldP)
FldInsert
,
FldDelete
,
FldCut
,
FldCopy
FldUndo
void FldRecalculateField (FieldType* fldP, Boolean redraw)
  |
-> fldP |
Pointer to a field object ( FieldType structure). |
  |
-> redraw |
If true , redraws the field. Currently, this parameter must be set to true to update the word-wrapping information. |
LineInfoType
structure pointed to by the lines
member of the FieldType
data structure.
FldSetTextPtr
). However, many of the field functions, such as
FldSetTextHandle
,
FldInsert
, and
FldDelete
, recalculate the word-wrapping information for you.
void FldReleaseFocus (FieldType* fldP)
hasFocus
to false. (See
FieldAttrType
.)
FldReleaseFocus
when the focus moves away from the field.
FldGrabFocus
true
if the field is scrollable in the specified direction.
Boolean FldScrollable (const FieldType* fldP, WinDirectionType direction)
  |
-> fldP |
Pointer to a field object ( FieldType structure). |
  |
-> direction |
The direction to test. DirectionType is defined in Window.h . It is an enum defining the constants up and down . |
true
if the field is scrollable in the specified direction; false otherwise.
FldScrollField
void FldScrollField (FieldType* fldP, UInt16 linesToScroll, WinDirectionType direction)
  |
-> fldP |
Pointer to a field object ( FieldType structure). |
  |
-> linesToScroll |
Number of lines to scroll. |
  |
-> direction |
The direction to scroll. DirectionType is defined in Window.h . It is an enum defining the constants up and down . |
SclSetScrollBar
to update the scrollbar. For example:
FldScrollField (fldP, linesToScroll, direction);
// Update the scroll bar.
SclGetScrollBar (bar, &value, &min, &max,
    &pageSize);
if (direction == up)
    value -= linesToScroll;
else
    value += linesToScroll;
SclSetScrollBar (bar, value, min, max,
    pageSize);
FldScrollable
before calling this function to see if the field can be scrolled.
FldScrollable
,
FldSetScrollPosition
void FldSendChangeNotification (const FieldType* fldP)
void FldSendHeightChangeNotification (const FieldType* fldP, UInt16 pos, Int16 numLines)
  |
-> fldP |
Pointer to a field object. |
  |
-> pos |
Character position of the insertion point. |
  |
-> numLines |
New number of lines in the field. |
void FldSetAttributes (FieldType* fldP, const FieldAttrPtr attrP)
  |
-> fldP |
Pointer to a FieldType structure. |
  |
-> attrP |
Pointer to the attributes. |
FldDrawField
.
FldGetAttributes
,
FieldAttrType
void FldSetBounds (FieldType* fldP, const RectangleType* rP)
  |
-> fldP |
Pointer to a field object ( FieldType structure). |
  |
-> rP |
Pointer to a RectangleType structure that contains the new bounds of the display. |
NOTE:  You can change the height or location of the field while it's visible, but do not change the width.
LineInfoType
) will be resized if the number of visible lines is changed. The insertion point is assumed to be off when this routine is called.
rect
is at least as tall as a single line in the current font. (You can determine this value by calling
FntLineHeight
.) If it's not, results are unpredictable.
FldGetBounds
,
FrmSetObjectBounds
void FldSetDirty (FieldType* fldP, Boolean dirty)
  |
-> fldP |
Pointer to a field object ( FieldType structure). |
  |
-> dirty |
true if the text is modified. |
FldInsert
and
FldDelete
.
FldDirty
void FldSetFont (FieldType* fldP, FontID fontID)
  |
-> |
Pointer to a field object ( FieldType structure). |
  |
-> |
ID of new font. |
FldGetFont
,
FieldAttrType
void FldSetInsertionPoint (FieldType* fldP, UInt16 pos)
  |
-> |
Pointer to a FieldType structure. |
FldSetInsertionPoint
also doesn't make the field the current focus of input if it was not already.
TxtCharBounds
void FldSetInsPtPosition (FieldType* fldP, UInt16 pos)
  |
-> fldP |
Pointer to a field object ( FieldType structure). |
FldGetInsPtPosition
,
TxtCharBounds
maxChars
value).
void FldSetMaxChars (FieldType* fldP, UInt16 maxChars)
  |
-> fldP |
Pointer to a field object ( FieldType structure). |
  |
-> maxChars |
Maximum size in bytes of the characters the user may enter. You may specify any value up to maxFieldTextLen . |
FldGetMaxChars
void FldSetScrollPosition (FieldType* fldP, UInt16 pos)
  |
-> fldP |
Pointer to a field object ( FieldType structure). |
FldGetScrollValues
to determine the values to use, and then call
SclSetScrollBar
.
FldGetScrollPosition
,
FldScrollField
,
TxtCharBounds
void FldSetSelection (FieldType* fldP, UInt16 startPosition, UInt16 endPosition)
  |
-> fldP |
Pointer to a field object ( FieldType structure). |
  |
-> startPosition |
Starting offset of the character range to highlight, given as a byte offset into the field's text. |
startPosition
and endPosition
to the same value. If startPosition equals endPosition, then the current selection is unhighlighted.
startPosition
or endPosition
point to an intra-character boundary, FldSetSelection
attempts to move that offset backward, toward the beginning of the string, until the offset points to an inter-character boundary (i.e., the start of a character).
TxtCharBounds
void FldSetText (FieldType* fldP, MemHandle textHandle, UInt16 offset, UInt16 size)
  |
-> fldP |
Pointer to a field object ( FieldType structure). |
  |
-> offset |
Offset from start of block to start of the text string. |
  |
-> size |
Allocated size of text string, not the string length. |
offset
bytes in the memory chunk. The string should be between 0 and size
- 1 bytes in length. The field does not make a copy of the memory chunk or the string data; instead, it stores the handle to the record in its structure.
FldSetText
updates the word-wrapping information and places the insertion point after the last visible character, but it does not update the display. You must call
FldDrawField
after calling this function to update the display.
FldSetText
increments the lock count for textHandle
and decrements the lock count of its previous text handle (if any).
FldSetText
(and FldSetTextHandle
) may be used to edit database records, they do not free the memory associated with the previous text handle. If the previous text handle points to a string on the dynamic heap and you want to free it, use
FldGetTextHandle
to obtain the handle before using FldSetText
and then free that handle after using FldSetText
. (See
FldSetTextHandle
for a code example.)
FldSetText
and pass NULL
for the text handle immediately before the form is closed. Passing NULL
removes the association between the field and the text handle that you want retained. That text handle is unlocked as a result of the FldSetText
call, and when the field is freed, there is no text handle to free with it.
void FldSetTextAllocatedSize (FieldType* fldP, UInt16 allocatedSize)
  |
-> fldP |
Pointer to a field object ( FieldType structure). |
  |
-> allocatedSize |
Number of bytes to allocate for the text. |
textBlockSize
field of the FieldType
structure. The value of this field is computed and maintained internally by the field, so you should not have to call FldSetTextAllocatedSize
directly.
FldGetTextAllocatedSize
,
FldCompactText
void FldSetTextHandle (FieldType* fldP, MemHandle textHandle)
  |
-> fldP |
Pointer to a field object ( FieldType structure). |
FldSetText
in that it uses the entire memory chunk pointed to by textHandle
for the string. In fact, this function simply calls FldSetText
with an offset of 0 and a size equal to the entire length of the memory chunk. Use it to have the field edit a string in a database record if the entire record consists of that string, or use it to have the field edit a string in the dynamic heap.
FldSetTextHandle
updates the word-wrapping information and places the insertion point after the last visible character, but it does not update the display. You must call
FldDrawField
after calling this function to update the display.
FldSetTextHandle
increments the lock count for textHandle
and decrements the lock count of its previous text handle (if any).
FldSetTextHandle
(and FldSetText
) may be used to edit database records, they do not free the memory associated with the previous text handle. If the previous text handle points to a string on the dynamic heap and you want to free it, use
FldGetTextHandle
to obtain the handle before using FldSetText
and then free that handle after using FldSetText
. For example:
/* get the old text handle */
oldTxtH = FldGetTextHandle(fldP);
/* change the text and update the display */
FldSetTextHandle(fldP, txtH);
FldDrawField(fldP);
/* free the old text handle */
if (oldTxtH != NULL)
    MemHandleFree(oldTxtH);
FldSetTextHandle
and pass NULL
for the text handle immediately before the form is closed. Passing NULL
removes the association between the field and the text handle that you want retained. That text handle is unlocked as a result of the FldSetTextHandle
call, and when the field is freed, there is no text handle to free with it.
void FldSetTextPtr (FieldType* fldP, Char* textP)
  |
-> fldP |
Pointer to a field object ( FieldType structure). |
  |
-> textP |
Pointer to a null-terminated string. |
FldSetTextPtr
with an editable text field. Instead, call
FldSetTextHandle
for editable text fields. FldSetTextPtr
is intended for displaying noneditable text in the user interface.
FldRecalculateField
to recalculate the word wrapping.
FldDrawField
to do so.
FldSetTextPtr(fldP, NULL)
before freeing a string you have passed using this function.
FldSetTextHandle
,
FldGetTextPtr
void FldSetUsable (FieldType* fldP, Boolean usable)
  |
fldP |
Pointer to a FieldType structure. |
  |
usable |
true to set usable; false to set nonusable. |
FrmHideObject
and
FrmShowObject
instead of using this function.
FldEraseField
,
FldDrawField
,
FieldAttrType
void FldUndo (FieldType* fldP)
FldPaste
,
FldCut
,
FldDelete
,
FldInsert
UInt16 FldWordWrap (const Char* chars, Int16 maxWidth)
  |
-> chars |
Pointer to a null-terminated string. |
  |
-> |
Maximum line width in pixels. |
FntWordWrap
  |   |