virtual L_INT LAnnAutomation::GetTextRTF(uFormat, pText, puLen)
Gets the text and text length (unformatted text or rich text) of an ANNOBJECT_RTF or ANNOBJECT_AUTOMATION annotation object.
Value that specifies the text format type. Possible values are:
Value | Meaning |
---|---|
RTFFORMAT_TEXT | [0x0001] Retrieve the text as unformatted text. |
RTFFORMAT_RTF | [0x0002] Retrieve the text as rich text. |
Pointer to a character string to be updated with the annotation object's character string. This value can be NULL.
Address of the variable to be updated with the length of the object's character string.
Value | Meaning |
---|---|
SUCCESS | The function was successful. |
< 1 | An error occurred. Refer to Return Codes. |
This function is used to retrieve the text from an ANNOBJECT_RTF or ANNOBJECT_AUTOMATION object. The text can be retrieved either as rich text, or unformatted text.
Call this function twice. On the first call, pass NULL for the pText argument to get length of the required input buffer. Then, allocate a buffer and call the function a second time to retreive the text. The following code snippet illustrates the process:
LAnnAutomation lAutomation; // assume this is a valid ANNOBJECT_RTF object
L_UINT uLength;
L_TCHAR *pText;
// Get the length
lAutomation .GetTextRTF(RTFFORMAT_RTF, NULL, &uLength);
// Allocate a buffer
pText = (L_TCHAR )malloc((uLength+1)*sizeof(L_TCHAR));
// Retrieve the text
lAutomation .GetTextRTF(RTFFORMAT_RTF, pText, &uLength);
To get or set the text of other text objects, see the documentation for LAnnAutomation::GetTextLen, LAnnAutomation::GetText and LAnnAutomation::SetText.
Win32, x64.
// This sample gets the text from Rich Text annotation object in one of two formats (text, or rich text) // plAutomation: the Rich Text annotation object // uFormat: the format of the retrieved text--one of // RTFFORMAT_TEXT //RTFFORMAT_RTF
L_INT LAnnAutomation_GetTextRTFExample(LAnnAutomation *plAutomation, L_UINT uFormat)
{
L_SIZE_T uLength;
L_TCHAR *pText;
L_TCHAR szMsg[200];
L_TCHAR *pszFormat;
L_INT nRet;
switch(uFormat)
{
case RTFFORMAT_TEXT:
pszFormat = TEXT("RTFFORMAT_TEXT");
break;
case RTFFORMAT_RTF:
pszFormat = TEXT("RTFFORMAT_RTF");
break;
default:
return 0;
break;
}
// Get the length
nRet = plAutomation->GetTextRTF( uFormat, NULL, &uLength);
if (nRet != SUCCESS)
return nRet;
pText = (L_TCHAR *)malloc((uLength+1)*sizeof(L_TCHAR));
nRet = plAutomation->GetTextRTF( uFormat, pText, &uLength);
if (nRet == SUCCESS)
{
wsprintf(szMsg, TEXT("Format: %s\nLength: %d"), pszFormat, uLength);
MessageBox(NULL, pText, szMsg, MB_OK);
}
else
return nRet;
free(pText);
return SUCCESS;
}
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document