ITextDocument2 SetProperty and GetProperty

Murray Sargent

These methods allow programmers to set and get document properties for RichEdit controls. There is some documentation on the web, but more detail can be helpful and new properties have been added. This post describes the current set of properties except for the math properties, which are described in the post Default Document Math Properties.

Property ID Property Value ID def
tomAlignWithTrailSpace Set/Get: if true, paragraph center alignment includes trailing spaces. 0x92
tomAnimateImages Set/Get: if true, enable GIF animation. Must be a DWrite control. 0x96
tomCanCopy Get: true if either the current selection isn’t protected or an EN_PROTECTED query returns S_OK 0x89
tomCanRedo Get: true if redo entries exist 0x8A
tomCanUndo Get: true if undo entries exist 0x8B
tomDocAlignPlainTextBaseLine Set/Get: if true, align plain-text baselines on lines with fonts of different ascents and descents which may occur, for example, with mixtures of Latin and Asian fonts. Such alignment increases the line height. 0xA0
tomDocAutoLink Set/Get: same value definitions as for wparam of EM_AUTOURLDETECT 0x8D
tomDocColorFlags Set/Get: if value = tomDocDisableColorCompare (1), disable RichEdit color render fixups when back color and text colors are too similar. Used mostly for transparent controls. 0xA2
tomDocConverterFlags Set/Get: a set of flags. tomUseTomMmlWriter (1) uses the TOM MathML/OMML writer instead of the HTML writer. tomWriteSelAttributes (2) writes selection attributes in MathML/OMML. tomNoMmlPrefix (4) suppresses the mml: prefix in MathML. tomNoIndent (8) doesn’t indent MathML or OMML. 0x98
tomDocDefaultTabSize Set/Get: value equals #columns of a default tab, where the column width is given by the width of a space. 0xA1
tomDocImageFlags Set/Get: if value = tomNoImageHandles (1), don’t display sizing handles on a selected image. If value = tomEnableD2DPreviewZoom (2), enable print-preview zoom for D2D/DWrite controls and RichEditD2D[PT] window controls. 0x99
tomDocNoMfenced Set/Get: if value = tomNoMfenced (1), MathML writer writes <mrow> element equivalent to <mfenced>. The latter isn’t supported in MathML core. 0x97
tomDocShowUnicodeControls Set/Get: if value = tomShowUnicodeControls (1), display special zero-width glyphs for Unicode Bidi controls and ZWJ (U+200D used in family emoji). For more detail, see the section “Show Unicode control characters mode and emoji” in the Notepad post. 0x9A
tomDocSpaceBefore Set/Get: value gives vertical space before start of document. For an example, see the section “Find/Replace dialog drop down” in the Notepad post. 0x9B
tomDocSpaceBeforeMax Set/Get: maximum document space before 0x9D
tomDocSpaceBeforeMin Set/Get: minimum document space before 0x9C
tomDocViewFlags Set/Get: if value = tomDocViewNoInsetZoom (1), don’t zoom the window inset when the content is zoomed. 0x9E
tomEllipsisMode Set/Get: value can be ELLIPSIS_NONE (0) ellipsis disabled, ELLIPSIS_END (1) ellipsis at the end (forced break), or ELLIPSIS_WORD (3) ellipsis at the end (word break) 0x8E
tomEllipsisState Get: if true, the display ends with an ellipsis. 0x8F
tomEncloseSurroundSpacing Set/Get: value is extra spacing in twips before and after an Enclose object. 0x93
tomIgnoreTrailSpacing Set/Get: if true, don’t include added intercharacter spacing for the last character in a line. 0x95
tomRichText Get: if true, control is a rich-text control. 0x94
tomUndoLimit Set/Get: same value definitions as for wparam of EM_SETUNDOLIMIT 0x8C
tomUnderlineTrailSpace Set/Get: if true, underline trail spaces. 0x91