SetBoxAlphabetHRC
2.0
Specifies the
alphabet codes to use for a range of boxes.
int SetBoxAlphabetHRC( HRC hrc, LPALC
rgalc, UINT cAlc )
Parameters
hrc
Handle to an HRC
object.
rgalc
An array of cAlc
ALC_ values. The array is mapped onto boxes starting at box zero.
cAlc
Number of
ALC_ values in rgalc. This should match the number of boxes. If this
parameter is 0, SetBoxAlphabetHRC simply returns 0.
Return Value
Returns
HRCR_OK if successful; otherwise, returns one of the following negative values:
|
Constant |
Description |
|
HRCR_ERROR |
Invalid
parameter or other error. |
|
HRCR_MEMERR |
Insufficient
memory. |
|
HRCR_UNSUPPORTED |
The
recognizer does not support this function. |
Comments
SetBoxAlphabetHRC applies only when an HRC has been configured
for box guides with the SetGuideHRC function. Although SetAlphabetHRC can also specify an
alphabet set for boxed input, it attaches the same alphabet setting to all
boxes indiscriminately. SetBoxAlphabetHRC offers greater control by
allowing an application to set different alphabets for individual boxes of a
single HRC.
Example
For example,
consider a boxed entry on a requisition form that expects a part number consisting
of five characters. The first two characters are uppercase letters, the next
two are numerals, and the last character can be either another numeral or a lowercase
revision code. The following example demonstrates how to configure the HRC
for this hypothetical scenario:
#define
PART_LEN 5 // Five characters in entry
HRC
hrcPart; //
HRC for parts entry
GUIDE guidePart; // GUIDE for parts entry
ALC
alcPart[PART_LEN]; // Array of ALC_ codes for entry
.
. //
Initialize the GUIDE here
.
guidePart.cHorzBox = PART_LEN; // Number of boxes in entry
guidePart.cVertBox = 1; // Single row
guidePart.cyMid
= 0; // No midline
iret = SetGuideHRC( hrcPart,
(LPGUIDE)&guidePart, 0 );
if (iret == HRCR_OK)
{
alcPart[0]
= alcPart[1] = ALC_UCALPHA; // Uppercase
in boxes 1-2
alcPart[2]
= alcPart[3] = ALC_NUMERIC; // Numerals
in boxes 3-4
alcPart[4]
= ALC_LCALPHA | ALC_NUMERIC; // Lower or numeral in box 5
// Map
alphabet codes onto boxes of parts number entry
SetBoxAlphabet(
hrcPart, (LPALC)&alcPart, PART_LEN );
}
See Also