L_AnnInsertTextTokenTable

#include "l_bitmap.h"

L_LTANN_API L_INT L_AnnInsertTextTokenTable(hAutomation, pTextToken)

Inserts a text token into the text token table.

Parameters

HANNOBJECT hAutomation

Handle to the annotation automation object.

pANNTEXTTOKEN pTextToken

Pointer to a structure that defines the text token table to insert.

Returns

Value Meaning
SUCCESS The function was successful.
< 1 An error occurred. Refer to Return Codes.

Comments

The text token table is stored in the automation object, so this function is valid only for the ANNOBJECT_AUTOMATION annotation object.

This function inserts a token defined by pTextToken into the text token table. If the token already exists, the existing token is overwritten. If the token does not already exist, it is created.

The text token table can be displayed by performing the following steps:

  1. Right-click on a Button, Note, PushPin, Rubber Stamp, Stamp, Text, or Text Pointer annotation object.
  2. Select Text option in menu that appears.
  3. Click the Insert Token button. A menu for the existing text token table appears, as shown in the following figure:

    tokentable3.gif
  4. Select the token to be inserted.

Note that the text token table above contains a separator. To add a separator, set TextToken as shown in the following code:

ANNTEXTTOKEN TextToken; 
TextToken.nSize = sizeof(ANNTEXTTOKEN); 
TextToken.cToken = 0; 
TextToken.nTokenType = ANNTOKEN_SEPARATOR; 

For a sample that illustrates how to define the text token table depicted above, see the Example.

Required DLLs and Libraries

Platforms

Win32, x64.

See Also

Functions

Topics

Example

This Example defines a new user token to display the current date in mm/dd/yyyy format.
It defines a separate token for company name:

  • #D is the date token.
  • #c is the company name token.
    Add this sample to the main annotation demo
    After running this sample:

  • Draw a text box

  • Right-click the text box
  • Display the text dialog
  • Click the "Insert Token" button
  • Choose the newly-defined tokens
    L_INT AnnInsertTextTokenTableExample(HANNOBJECT hAutomation) 
    { 
       L_INT nRet; 
       ANNTEXTTOKEN TextToken; 
     
       memset(&TextToken, 0, sizeof(ANNTEXTTOKEN)); 
       TextToken.uStructSize = sizeof(ANNTEXTTOKEN); 
     
       // Clear the current text token table 
       nRet = L_AnnClearTextTokenTable(hAutomation); 
       if(nRet != SUCCESS) 
          return nRet; 
     
       // Define token for two digit month 
       TextToken.cToken           = '0'; 
       TextToken.pszDesc          = TEXT("Two Digit Month"); 
       TextToken.pszTokenString   = NULL; 
       TextToken.nTokenType       = ANNTOKEN_DATE_MM; 
       nRet = L_AnnInsertTextTokenTable(hAutomation, &TextToken); 
       if(nRet != SUCCESS) 
          return nRet; 
        
       // Define token for two digit day 
       TextToken.cToken           = '1'; 
       TextToken.pszDesc          = TEXT("Two Digit day"); 
       TextToken.pszTokenString   = NULL; 
       TextToken.nTokenType       = ANNTOKEN_DATE_DD; 
       nRet = L_AnnInsertTextTokenTable(hAutomation, &TextToken); 
       if(nRet != SUCCESS) 
          return nRet; 
     
     
       // Define token for four digit year 
       TextToken.cToken           = '2'; 
       TextToken.pszDesc          = TEXT("Two Digit day"); 
       TextToken.pszTokenString   = NULL; 
       TextToken.nTokenType       = ANNTOKEN_DATE_YYYY; 
       nRet = L_AnnInsertTextTokenTable(hAutomation, &TextToken); 
       if(nRet != SUCCESS) 
          return nRet; 
     
       // Add a separator 
       TextToken.cToken           = 0; 
       TextToken.pszDesc          = NULL; 
       TextToken.pszTokenString   = NULL; 
       TextToken.nTokenType       = ANNTOKEN_SEPARATOR; 
       nRet = L_AnnInsertTextTokenTable(hAutomation, &TextToken); 
       if(nRet != SUCCESS) 
          return nRet; 
     
       // Define token for  mm/dd/yyyy 
       TextToken.cToken           = 'D'; 
       TextToken.pszDesc          = TEXT("Date: mm/dd/yyyy"); 
       TextToken.pszTokenString   = TEXT("#0/#1/#2"); 
       TextToken.nTokenType       = ANNTOKEN_TEXT; 
       nRet = L_AnnInsertTextTokenTable(hAutomation, &TextToken); 
       if(nRet != SUCCESS) 
          return nRet; 
     
       // Define token for company name 
       TextToken.cToken           = 'c'; 
       TextToken.pszDesc          = TEXT("Company Name"); 
       TextToken.pszTokenString   = TEXT("Your Company Name"); 
       TextToken.nTokenType       = ANNTOKEN_TEXT; 
       nRet = L_AnnInsertTextTokenTable(hAutomation, &TextToken); 
       if(nRet != SUCCESS) 
          return nRet; 
     
       return SUCCESS; 
    } 
Help Version 21.0.2021.4.7
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2021 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS Raster Imaging C API Help