The ComponentProperties object contains a collection of properties for a single HotDocs component. Each property contains a small piece of information (such as a variable prompt or dialog script), and together they tell HotDocs how to display or interact with the component.
All HotDocs components contain a few basic properties, such as Name and Type. In addition, each type of component contains a number of other properties that are specific to that component type. For example, a Number variable contains a Currency property, which is not applicable to other component types.
Using the API, you may also choose to add additional properties to HotDocs components (using the ComponentProperties.Add method) to store information specific to their integrations.
The following list contains the names of various properties, their property type (BSTR, INT, ARRAY, BOOL, Integer, R8 or VARIANT Array), and a short description of each one. Each entry also contains the abbreviated components types that property is available for. The abbreviations for these component types are as follows:
These property names are all case-sensitive. Also, some of the properties listed below in ALL CAPS are not always created by default. For example, a variable's title (PROP_TITLE) is not always created automatically, so you should be careful in your code to make sure that a property exists before you check its value or otherwise interact with it.
AddBtnText: (BSTR) The button text for the dialog's "Add Repetition" button. (DI)
AnswerSource: (BSTR) The name of the answer source associated with the dialog. (DI)
Application: (BSTR) For an application link Dialog Element, this is the file name and path to the executable file. (DE)
ApplicationLink: (BSTR) For an application link Dialog Element, this is the text for the hyperlink (button). (DE)
Chars: (INT) The maximum number of characters allowed in the variable's answer. (TE)
Choices: (ARRAY) An array of values for a Merge Text component. (MT)
Computation: (BSTR) For a Script link Dialog Element, this is the name of the Computation variable to run. (DE)
ComputationLink: (BSTR) For a Script link Dialog Element, this is the text for the hyperlink (button). (DE)
ContStyle: (INT) The style for displaying a Multiple Choice variable in the interview. (MC)
151: Buttons (Select One Only)
152: Check Boxes (Select All That Apply)
153: List (Select One Only)
154: List (Select All That Apply)
155: Drop-down List (Select One Only)
156: Button Grid (Select One Only)
157: Check-box Grid (Select All That Apply)
Currency: (BSTR) The currency symbol to display next to the answer field. (NU)
DataBase: (BSTR) The database component to which the variable is linked. (Read-only). (TE, DA, NU, TF, MC, CO, DI, DE)
Decimals: (INT) The number of decimal places. (NU)
DefAlignment: (INT) The default answer alignment (0=Left, 1=right) for merge fields. (TE, DA, NU, TF, MC, CO, DI, DE)
DefaultDecimalPoint: (BSTR) The default character to use for decimal points. (NU)
DefaultThousandsSep: (BSTR) The default character to use as the thousands separator. (NU)
DefFillChar: (BSTR) The default fill character for merge fields. (TE, DA, NU, TF, MC, CO, DI, DE)
DefFieldWidth: (INT) The default merge field width. (TE, DA, NU, TF, MC, CO, DI, DE)
DefFormat: (BSTR) The default format (e.g., LIKE THIS). Formats ending with an asterisk (*) are non-breaking formats. (TE, DA, NU, TF, MC, CO, DI, DE)
DefMergeText: (BSTR) The default merge text for the variable. (MC)
DefUnansText: (BSTR) The default unanswered text for merge fields. (TE, DA, NU, TF, MC, CO, DI, DE)
DefValue: (ARRAY) A list of default values for the variable. (MC)
Dialog: (BSTR) The dialog component to which the variable is linked. If a variable appears in more than one dialog, this shows only the dialog (if any) to which the variable is linked. (TE, DA, NU, TF, MC, CO, DI, DE)
DialogItemText: (BSTR) For a Text dialog element, this is the text to display on the dialog. (DE)
DisplayLinkAs: (INT) Determines if the link will be displayed as a button (0) or hyperlink (1). (DE)
DisplayLinkInDesktop: (BOOL) Determines if the link will be displayed in desktop interviews. (DE)
DisplayLinkInServer: (BOOL) Determines if the link will be displayed in HotDocs Server interviews. (DE)
DisplayLinkWithImage: (BOOL) Determines if the link will include an image. (DE)
DisplayLinkWithText: (BOOL) Determines if the link will include text. (DE)
DisplayTextIn: (INT) For Text dialog elements, indicates when it will be displayed: All views of the dialog (0), Spreadsheet view only (1), or Edit Row view only (2). (DE)
DlgItemType: (INT) The type of dialog element: 0=Text, 1=Horizontal divider, 2=Vertical spacing, 3=Script link, 4=Application link, 5=Web link, 6=Image. (DE)
GenerateAutomatically: (BOOL) Determines if the dialog element's name will be generated automatically. (DE)
GroupType: (Integer) The type of grouping. (DI)
Hash: (INT) A 32-bit number representing a hash of the component's Name and Type properties. (Read-only). (TE, DA, NU, TF, MC, CO, DI, DE, SP, FE, MT)
HelpText: (BSTR) The resource text assigned to the variable. (TE, DA, NU, TF, MC, CO, DI, DE)
HelpTexts: (ARRAY) A list of resource text for the variable options. (MC)
High: (R8) The maximum allowed value. (NU)
ImageFileName: (BSTR) For Image dialog elements, the file name and path of the image to display. (DE)
ImageJustification: (INT) For Image dialog elements, indicates Left (0), Center (1), or Right (2) justification. (DE)
Int1: (INT) For internal HotDocs use. (SP)
Int2: (INT) For internal HotDocs use. (SP)
IsRegular: (BOOL) Determines if the dialog is regular. (Read-only). (DI)
IsRepeated: (BOOL) Determines if the dialog is repeated. (Read-only). (DI)
IsSpread: (BOOL) Determines if the dialog is a spreadsheet. (Read-only). (DI)
Lines: (INT) The field height of the answer field in the interview. (TE)
LinkButtonHeight: (INT) The height of link buttons. (DE)
LinkButtonWidth: (INT) The width of link buttons. (DE)
LinkImageFileName: (INT) For Link elements, the file name and path of the image to use as the link. (DE)
Low: (R8) The minimum allowed value. (NU)
MaxAnsFieldWidth: (INT) The width (in units) of the answer field in a regular (non-spreadsheet) dialog. The width may be exact (>0), full (0), or calculated (-1). (TE, DA, NU, TF, MC, CO, DI, DE)
MaxPromptWidth: (Integer) The maximum width of prompts. (DI)
MaxSSRows: (Integer) The maximum number of spreadsheet rows to display at a time. (DI)
MultiSel: (BOOL) A Boolean value indicating whether or not users may select multiple options. (MC)
Name: (BSTR) The component name. (TE, DA, NU, TF, MC, CO, DI, DE, SP, FE, MT)
NoneAboveType: (Integer) Determines if grouped True/False variables should include a None of the Above option. (DI)
NumVars: (Integer) The number of variables in the dialog. (Read-only). (DI)
Options: (ARRAY) A list of options for the Multiple Choice variable. (MC)
OtherAllowed: (BOOL) A Boolean value indicating whether or not HotDocs should display an Other option. (This value also controls the display of the None of the Above option for multi-select variables.) (MC)
ParentGroupType: (Integer) The type of parent group. (DI)
Prompt: (BSTR) The variable prompt. (TE, DA, NU, TF, MC, CO, DI, DE)
Prompts: (ARRAY) A list of prompts for the variable options. (MC)
PROP_P_ON_P: (BSTR) The prompt to use when the dialog is displayed as a child dialog. (DI)
PROP_TITLE: (BSTR) The variable title. (TE, DA, NU, TF, MC, CO, DI, DE)
RepeatTitle: (BSTR) The label for the dialog when it is repeated as a series. (DI)
Script: (BSTR) The Computation variable or dialog script. (CO, DI)
SeparatorCaption: (BSTR) For a Horizontal divider dialog element, this is the text to display on the divider. (DE)
SeparatorFontSize: (INT) For a Horizontal divider dialog element, this is the font size as a percentage of the regular dialog font size. (DE)
SeparatorJustification: (INT) For a Horizontal divider dialog element, indicates Left (0), Center (1), or Right (2) justification. (DE)
Signature: (INT) For internal HotDocs use. (Read-only). (TE, DA, NU, TF, MC, CO, DI, DE, SP, FE, MT)
SpacerHeight: (INT) For a Vertical spacing dialog element, this is the height as a percentage of the dialog font height. (DE)
SSColWidth: (INT) The minimum width (in units) of the answer field in a spreadsheet dialog. (A value of 0 means HotDocs will calculate the width automatically.) (TE, DA, NU, TF, MC, CO, DI, DE)
String1: (BSTR) For internal HotDocs use. (SP)
String2: (BSTR) For internal HotDocs use. (SP)
SYS_DLG_ALIGN_MASK: (BOOL) For internal HotDocs use. (TE, DA, NU, TF, MC, CO, DI, DE)
SYS_DLG_ASK_ALWAYS: (BOOL) Determines if the dialog is asked automatically. (DI)
SYS_DLG_ASK_AS_SPREAD: (BOOL) Determines if the dialog is asked as a spreadsheet. (DI)
SYS_DLG_CHILD: (BOOL) Determines if the dialog is a child dialog. (DI)
SYS_DLG_HIDE_SPREAD_BTNS: (BOOL) Determines if the buttons for adding, inserting, and deleting rows are displayed below the spreadsheet dialog. (DI)
SYS_DLG_LEFT: (BOOL) For dialogs, this Boolean value indicates whether or not prompts will appear to the left of the variable fields. (TE, DA, NU, TF, MC, CO, DI, DE)
SYS_DLG_MUST_ASK: (BOOL) Determines if the dialog must be asked. (DI)
SYS_DLG_OLD_LIST: (BOOL) Determines if the dialog is in the old list format. (DI)
SYS_DLG_OMITCBFORINSERTED: (BOOL) Determines if child dialogs will include buttons. (DI)
SYS_DLG_REPEATED: (BOOL) Determines if the dialog is repeated. (DI)
SYS_DLG_TOP: (BOOL) For dialogs, this boolean value indicates whether or not prompts will appear above variable fields. (TE, DA, NU, TF, MC, CO, DI, DE)
SYS_DLG_RAGGED: (BOOL) For dialogs, this Boolean value indicates whether or not the left edges of variable fields will be aligned. (TE, DA, NU, TF, MC, CO, DI, DE)
SYS_DONT_WARN_IF_UNANS: (BOOL) A Boolean value indicating whether or not HotDocs will warn the user when the variable is unanswered. (TE, DA, NU, TF, MC, CO, DI, DE)
SYS_TEXT_USE_PARA: (BOOL) A Boolean value that indicates whether or not pressing the Enter key in multi-line answers will insert a new paragraph mark. (TE)
SYS_TF_SAMELINE: (BOOL) A Boolean value indicating whether or not HotDocs should display Yes/No on the same line. (TF)
SYS_TF_USER_CAN_MODIFY: (BOOL) A Boolean value that indicates if the user can modify the contents of the SPAN text. (SP)
SYS_VAR_DONT_ASK: (BOOL) A Boolean value indicating whether or not HotDocs will ask the variable automatically. (TE, DA, NU, TF, MC, CO, DI, DE)
SYS_VAR_DONT_SAVE: (BOOL) A Boolean value indicating whether or not HotDocs will save the variable's answer in the answer file. (TE, DA, NU, TF, MC, CO, DI, DE)
Text: (BSTR) The format example (e.g., LIKE THIS). (FE)
Type: (INT) Indicates the type of HotDocs component as defined in the HDVARTYPE enumeration. (TE, DA, NU, TF, MC, CO, DI, DE, SP, FE, MT)
Url: (BSTR) For a Web link dialog element, this is the URL. (DE)
UrlLink: (BSTR) For a Web link dialog element, this is the text of the hyperlink. (DE)
UrlLinkOptions: (BSTR) For a Web link dialog element, this is the "Window.open" features string. (DE)
Validation: (BSTR) A pattern used for answer validation, such as a telephone number pattern: (999) 999-9999. (Read-only). (TE)
ValueType: (INT) For internal HotDocs use. (Read-only). (TE, DA, NU, TF, MC, CO, DI, DE)
Variables: (VARIANT Array) A list of variables contained in the dialog. (DI)