// Generated IDL File (by Great Migrations Studio) 
// Created: 12/3/2025 09:32:50 AM
// Source: C:\Windows\SysWow64\RICHTX32.OCX
// typelib filename: RICHTX32.OCX
[
    uuid(3B7C8863-D78F-101B-B9B5-04021C009402),
    version(1.2),
    helpstring("Microsoft Rich Textbox Control 6.0 (SP4)"),
    helpfile("C:\windows\HELP\RTFBox98.CHM"),
    helpcontext(0x000445c0),
    control
]
library RichTextLib
{
    // TLib : OLE Automation : {00020430-0000-0000-C000-000000000046}
    importlib("stdole2.tlb");

    // Forward declare all types defined in this typelib

    interface IVBDataObject;
    interface IVBDataObjectFiles;
    interface IOLEObject;
    interface IOLEObjects;
    interface IRichText;
    dispinterface DRichTextEvents;
    coclass DataObject;
    coclass DataObjectFiles;
    coclass RichTextBox;
    coclass OLEObjects;
    coclass OLEObject;

    [
        odl,
        uuid(2334D2B1-713E-11CF-8AE5-00AA00C00905),
        hidden,
        dual,
        nonextensible,
        oleautomation
    ]
    interface IVBDataObject : IDispatch {
        [id(0x00000001), helpstring("Clears all data and formats in a DataObject object."), helpcontext(0x0004465e)]
        HRESULT Clear();
        [id(0x00000002), helpstring("Retrieves data of a specified format from a DataObject object."), helpcontext(0x0004465f)]
        HRESULT GetData(
            [in] short sFormat,
            [out, retval] VARIANT* pvData);
        [id(0x00000003), helpstring("Determines if a specified clipboard format is supported by the DataObject object."), helpcontext(0x00044660)]
        HRESULT GetFormat(
            [in] short sFormat,
            [out, retval] VARIANT_BOOL* pbFormatSupported);
        [id(0x00000004), helpstring("Adds a supported format and possibly its data to a DataObject object."), helpcontext(0x00044661)]
        HRESULT SetData(
            [in, optional] VARIANT vValue,
            [in, optional] VARIANT vFormat);
        [id(0x00000005), propget, helpstring("A collection of filenames used by the vbCFFiles format."), helpcontext(0x00044662)]
        HRESULT Files([out, retval] IVBDataObjectFiles** pFiles);
    };

    [
        uuid(2334D2B2-713E-11CF-8AE5-00AA00C00905),
        noncreatable
    ]
    coclass DataObject {
        [default] interface IVBDataObject;
    };

    [
        odl,
        uuid(2334D2B3-713E-11CF-8AE5-00AA00C00905),
        hidden,
        dual,
        nonextensible,
        oleautomation
    ]
    interface IVBDataObjectFiles : IDispatch {
        [id(00000000), propget, helpstring("Returns a specific filename by index from the Files collection of a DataObject object (vbCFFiles format only)."), helpcontext(0x00044663)]
        HRESULT Item(
            [in] long lIndex,
            [out, retval] BSTR* bstrItem);
        [id(0x00000001), propget, helpstring("Returns the number of filenames in the Files collection of a DataObject object (vbCFFiles format only)."), helpcontext(0x00044664)]
        HRESULT Count([out, retval] long* plCount);
        [id(0x00000002), helpstring("Adds a filename to the Files collection of a DataObject object (vbCFFiles format only)."), helpcontext(0x00044665)]
        HRESULT Add(
            [in] BSTR bstrFilename,
            [in, optional] VARIANT vIndex);
        [id(0x00000003), helpstring("Clears all filenames stored in the Files collection of a DataObject object (vbCFFiles format only)."), helpcontext(0x00044666)]
        HRESULT Clear();
        [id(0x00000004), helpstring("Removes a filename from the Files collection of a DataObject object (vbCFFiles format only)."), helpcontext(0x00044667)]
        HRESULT Remove([in] VARIANT vIndex);
        [id(0xfffffffc), hidden]
        HRESULT _NewEnum([out, retval] IUnknown** ppUnk);
    };

    [
        uuid(2334D2B4-713E-11CF-8AE5-00AA00C00905),
        noncreatable
    ]
    coclass DataObjectFiles {
        [default] interface IVBDataObjectFiles;
    };

    typedef [uuid(D8898460-742F-11CF-8AEA-00AA00C00905), helpstring("Constants for the OLEDragMode property (but not the DragMode or OLEDropMode properties)."), helpcontext(0x00044642)]
    enum {
        rtfOLEDragManual = 0,
        rtfOLEDragAutomatic = 1
    } OLEDragConstants;

    typedef [uuid(D8898461-742F-11CF-8AEA-00AA00C00905), helpstring("Constants for the OLEDropMode property (but not the DragMode or OLEDragMode properties)."), helpcontext(0x00044645)]
    enum {
        rtfOLEDropNone = 0,
        rtfOLEDropManual = 1,
        rtfOLEDropAutomatic = 2
    } OLEDropConstants;

    typedef [uuid(D8898464-742F-11CF-8AEA-00AA00C00905), helpstring("State transition constants for the DragOver and OLEDragOver events."), helpcontext(0x00044649)]
    enum {
        rtfEnter = 0,
        rtfLeave = 1,
        rtfOver = 2
    } DragOverConstants;

    typedef [uuid(D8898462-742F-11CF-8AEA-00AA00C00905), helpstring("Clipboard format constants."), helpcontext(0x0004464d)]
    enum {
        rtfCFText = 1,
        rtfCFBitmap = 2,
        rtfCFMetafile = 3,
        rtfCFDIB = 8,
        rtfCFPalette = 9,
        rtfCFEMetafile = 14,
        rtfCFFiles = 15,
        rtfCFRTF = 0xffffbf01
    } ClipBoardConstants;

    typedef [uuid(D8898463-742F-11CF-8AEA-00AA00C00905), helpstring("Drop effect constants for OLE drag and drop events."), helpcontext(0x00044656)]
    enum {
        rtfOLEDropEffectNone = 0,
        rtfOLEDropEffectCopy = 1,
        rtfOLEDropEffectMove = 2,
        rtfOLEDropEffectScroll = 0x80000000
    } OLEDropEffectConstants;

    typedef [uuid(84B13220-741A-11CE-9575-0020AF039CA3), helpstring("Appearance constants."), helpcontext(0x000445cc)]
    enum {
        rtfFlat = 0,
        rtfThreeD = 1
    } AppearanceConstants;

    typedef [uuid(3B7C886A-D78F-101B-B9B5-04021C009402), helpstring("BorderStyle constants."), helpcontext(0x000445cf)]
    enum {
        rtfNoBorder = 0,
        rtfFixedSingle = 1
    } BorderStyleConstants;

    typedef [uuid(F2991EA8-75B9-11CE-B4BC-524153480004), helpstring("Find constants."), helpcontext(0x000445c1)]
    enum {
        rtfWholeWord = 2,
        rtfMatchCase = 4,
        rtfNoHighlight = 8
    } FindConstants;

    typedef [uuid(9FAEAB20-894B-11CE-9576-0020AF039CA3), helpstring("LoadSave constants."), helpcontext(0x000445c9)]
    enum {
        rtfRTF = 0,
        rtfText = 1
    } LoadSaveConstants;

    typedef [uuid(3B7C886B-D78F-101B-B9B5-04021C009402), helpstring("MousePointer constants."), helpcontext(0x000445d7)]
    enum {
        rtfDefault = 0,
        rtfArrow = 1,
        rtfCross = 2,
        rtfIBeam = 3,
        rtfIcon = 4,
        rtfSize = 5,
        rtfSizeNESW = 6,
        rtfSizeNS = 7,
        rtfSizeNWSE = 8,
        rtfSizeEW = 9,
        rtfUpArrow = 10,
        rtfHourglass = 11,
        rtfNoDrop = 12,
        rtfArrowHourglass = 13,
        rtfArrowQuestion = 14,
        rtfSizeAll = 15,
        rtfCustom = 99
    } MousePointerConstants;

    typedef [uuid(3B7C886C-D78F-101B-B9B5-04021C009402), helpstring("ScrollBars constants."), helpcontext(0x000445d2)]
    enum {
        rtfNone = 0,
        rtfHorizontal = 1,
        rtfVertical = 2,
        rtfBoth = 3
    } ScrollBarsConstants;

    typedef [uuid(32D50A00-894E-11CE-9576-0020AF039CA3), helpstring("SelAlignment constants."), helpcontext(0x000445c5)]
    enum {
        rtfLeft = 0,
        rtfRight = 1,
        rtfCenter = 2
    } SelAlignmentConstants;

    typedef [uuid(587A1890-455E-11CF-8983-00AA00688B10), helpstring("OLEObject DisplayType constants"), helpcontext(0x000445e9)]
    enum {
        rtfDisplayContent = 0,
        rtfDisplayIcon = 1
    } DisplayTypeConstants;

    typedef [uuid(A97022A1-D6C5-11CF-89B4-00AA00688B10), helpstring("Error Constants"), helpcontext(0x00044668)]
    enum {
        rtfOutOfMemory = 7,
        rtfInvalidPropertyValue = 380,
        rtfInvalidPropertyArrayIndex = 381,
        rtfSetNotSupported = 383,
        rtfSetNotPermitted = 387,
        rtfGetNotSupported = 394,
        rtfInvalidProcedureCall = 5,
        rtfInvalidObjectUse = 425,
        rtfWrongClipboardFormat = 461,
        rtfDataObjectLocked = 672,
        rtfExpectedAnArgument = 673,
        rtfRecursiveOleDrag = 674,
        rtfFormatNotByteArray = 675,
        rtfDataNotSetInFormat = 676,
        rtfPathFileAccessError = 75,
        rtfInvalidFileFormat = 321,
        rtfInvalidCharPosition = 32000,
        rtfInvalidHdc = 32001,
        rtfCannotLoadFile = 32002,
        rtfProtected = 32011,
        rtfInvalidKeyName = 32005,
        rtfInvalidClassName = 32006,
        rtfKeyNotFound = 32007,
        rtfOLESourceRequired = 32008,
        rtfNonUniqueKey = 32009,
        rtfInvalidObject = 32010,
        rtfOleCreate = 32012,
        rtfOleServer = 32013
    } ErrorConstants;

    [
        odl,
        uuid(ED117630-4090-11CF-8981-00AA00688B10),
        helpstring("The RichTextBox control enables you to add insertable objects to an RTF file. Insertable objects are represented by the OLEObject."),
        helpcontext(0x000445f1),
        hidden,
        dual,
        nonextensible,
        oleautomation
    ]
    interface IOLEObject : IDispatch {
        [id(0x00000001), propget, helpstring("Returns the number that uniquely identifies an object in a collection."), helpcontext(0x000445f2)]
        HRESULT Index([out, retval] int* piIndex);
        [id(0x00000002), propget, helpstring("Returns/sets a string that uniquely identifies a member in a collection."), helpcontext(0x000445f3)]
        HRESULT Key([out, retval] BSTR* pbstrKey);
        [id(0x00000002), propput, helpstring("Returns/sets a string that uniquely identifies a member in a collection."), helpcontext(0x000445f3)]
        HRESULT Key([in] BSTR pbstrKey);
        [id(0x00000003), propget, helpstring("Returns object's OLE class name"), helpcontext(0x000445f4)]
        HRESULT Class([out, retval] BSTR* pbstrClass);
        [id(0x00000005), propget, helpstring("Returns/sets a value indicating whether an object displays its contents or an icon."), helpcontext(0x000445f5)]
        HRESULT DisplayType([out, retval] DisplayTypeConstants* pnType);
        [id(0x00000005), propput, helpstring("Returns/sets a value indicating whether an object displays its contents or an icon."), helpcontext(0x000445f5)]
        HRESULT DisplayType([in] DisplayTypeConstants pnType);
        [id(0x00000006), propget, helpstring("Returns a string array of verbs supported by the object. FetchVerbs must be called prior to accessing this property."), helpcontext(0x000445f6)]
        HRESULT ObjectVerbs([out, retval] VARIANT* pvArray);
        [id(0x00000007), propget, helpstring("Returns a integer array of menu item state flags used to display the corresponding verb in the object's popup menu."), helpcontext(0x000445f7)]
        HRESULT ObjectVerbFlags([out, retval] VARIANT* pvArray);
        [id(0x00000008), propget, helpstring("Returns the number of verbs supported by the object.  This is the number of items in the ObjectVerbs and ObjectVerbFlags array."), helpcontext(0x000445f8)]
        HRESULT ObjectVerbsCount([out, retval] int* pnCount);
        [id(0x00000009), helpstring("Executes the object's verb specified by the index value."), helpcontext(0x000445f9)]
        HRESULT DoVerb([in, optional] VARIANT verb);
        [id(0x0000000a), helpstring("Fetches the verbs supported by the object.  This method must be called prior to accessing ObjectVerbs, ObjectVerbFlags, and ObjectVerbsCount."), helpcontext(0x000445fa)]
        HRESULT FetchVerbs([out, retval] int* pnCount);
    };

    [
        odl,
        uuid(859321D0-3FD1-11CF-8981-00AA00688B10),
        helpstring("RichText Control OLEObjects Collection Interface"),
        helpcontext(0x000445fb),
        hidden,
        dual,
        nonextensible,
        oleautomation
    ]
    interface IOLEObjects : IDispatch {
        [id(00000000), propget, helpstring("Returns a specific item of a collection object by position, index, or key."), helpcontext(0x000445fc)]
        HRESULT Item(
            [in, optional] VARIANT Item,
            [out, retval, optional] IOLEObject** ppOLEObject);
        [id(0x00000001), propget, helpstring("Returns the number of members in a collection."), helpcontext(0x000445fd)]
        HRESULT Count([out, retval] long* plCount);
        [id(0x00000004), helpstring("Clears all objects in a collection."), helpcontext(0x00044600)]
        HRESULT Clear();
        [id(0x00000002), helpstring("Adds an OLEObject to an OLEObjects collection."), helpcontext(0x000445fe)]
        HRESULT Add(
            [in, optional] VARIANT Index,
            [in, optional] VARIANT Key,
            [in, optional] VARIANT source,
            [in, optional] VARIANT objclass,
            [out, retval, optional] IOLEObject** ppOLEObject);
        [id(0x00000003), helpstring("Removes a specific member from a collection."), helpcontext(0x000445ff)]
        HRESULT Remove([in] VARIANT Item);
        [id(0xfffffffc), hidden]
        HRESULT _NewEnum([out, retval] IUnknown** ppNewEnum);
    };

    [
        odl,
        uuid(E9A5593C-CAB0-11D1-8C0B-0000F8754DA1),
        helpstring("Microsoft Rich Textbox Control 6.0 (SP4)"),
        helpcontext(0x000445c0),
        hidden,
        dual,
        nonextensible,
        oleautomation
    ]
    interface IRichText : IDispatch {
        [id(00000000), propget, hidden, helpstring("Returns/sets the text of a RichTextBox control, including all .RTF code."), helpcontext(0x0004460d)]
        HRESULT defTextRTF([out, retval] BSTR* pbstrTextRTF);
        [id(00000000), propput, hidden, helpstring("Returns/sets the text of a RichTextBox control, including all .RTF code."), helpcontext(0x0004460d)]
        HRESULT defTextRTF([in] BSTR pbstrTextRTF);
        [id(0x0000001d), propget, helpstring("Returns/sets the paint style of a control at run time. "), helpcontext(0x00044621)]
        HRESULT Appearance([out, retval] AppearanceConstants* pAppearance);
        [id(0x0000001d), propput, helpstring("Returns/sets the paint style of a control at run time. "), helpcontext(0x00044621)]
        HRESULT Appearance([in] AppearanceConstants pAppearance);
        [id(0xfffffe0b), propget, bindable, requestedit, helpstring("Returns/sets the background color of an object."), helpcontext(0x00044601)]
        HRESULT BackColor([out, retval] stdole.OLE_COLOR* pocBackColor);
        [id(0xfffffe0b), propput, bindable, requestedit, helpstring("Returns/sets the background color of an object."), helpcontext(0x00044601)]
        HRESULT BackColor([in] stdole.OLE_COLOR pocBackColor);
        [id(0x00000017), propget, helpstring("Returns/sets the border style for an object."), helpcontext(0x0004461b)]
        HRESULT BorderStyle([out, retval] BorderStyleConstants* pBorderStyle);
        [id(0x00000017), propput, helpstring("Returns/sets the border style for an object."), helpcontext(0x0004461b)]
        HRESULT BorderStyle([in] BorderStyleConstants pBorderStyle);
        [id(0x0000001e), propget, helpstring("Returns or sets the amount of indent used in a RichTextBox control when SelBullet is set to True."), helpcontext(0x00044623)]
        HRESULT BulletIndent([out, retval] float* pflBulletIndent);
        [id(0x0000001e), propput, helpstring("Returns or sets the amount of indent used in a RichTextBox control when SelBullet is set to True."), helpcontext(0x00044623)]
        HRESULT BulletIndent([in] float pflBulletIndent);
        [id(0x00000007), propget, helpstring("Returns/sets a value that determines whether scroll bars in the RichTextBox control are disabled."), helpcontext(0x0004460a)]
        HRESULT DisableNoScroll([out, retval] VARIANT_BOOL* pfDisableNoScroll);
        [id(0x00000007), propput, helpstring("Returns/sets a value that determines whether scroll bars in the RichTextBox control are disabled."), helpcontext(0x0004460a)]
        HRESULT DisableNoScroll([in] VARIANT_BOOL pfDisableNoScroll);
        [id(0xfffffdfe), propget, bindable, requestedit, helpstring("Returns/sets a value that determines whether an object can respond to user-generated events."), helpcontext(0x00044602)]
        HRESULT Enabled([out, retval] VARIANT_BOOL* pfEnabled);
        [id(0xfffffdfe), propput, bindable, requestedit, helpstring("Returns/sets a value that determines whether an object can respond to user-generated events."), helpcontext(0x00044602)]
        HRESULT Enabled([in] VARIANT_BOOL pfEnabled);
        [id(0x00000013), propget, helpstring("Returns/sets the filename of the file loaded into the RichTextBox control at design time."), helpcontext(0x00044616)]
        HRESULT FileName([out, retval] BSTR* pbstrFileName);
        [id(0x00000013), propput, helpstring("Returns/sets the filename of the file loaded into the RichTextBox control at design time."), helpcontext(0x00044616)]
        HRESULT FileName([in] BSTR pbstrFileName);
        [id(0xfffffe00), propget, bindable, helpstring("Returns a Font object."), helpcontext(0x00044619)]
        HRESULT Font([out, retval] stdole.IFontDisp** ppFont);
        [id(0xfffffe00), propputref, bindable, helpstring("Returns a Font object."), helpcontext(0x00044619)]
        HRESULT Font([in] stdole.IFontDisp* ppFont);
        [id(0x00000002), propget, helpstring("Returns/sets a value that specifies if the selected item remains highlighted when a control loses focus."), helpcontext(0x00044603)]
        HRESULT HideSelection([out, retval] VARIANT_BOOL* pfHideSelection);
        [id(0x00000002), propput, helpstring("Returns/sets a value that specifies if the selected item remains highlighted when a control loses focus."), helpcontext(0x00044603)]
        HRESULT HideSelection([in] VARIANT_BOOL pfHideSelection);
        [id(0xfffffdfd), propget, helpstring("Returns a handle to a control."), helpcontext(0x00044622)]
        HRESULT Hwnd([out, retval] stdole.OLE_HANDLE* pohHwnd);
        [id(0xfffffdfd), propput, helpstring("Returns a handle to a control."), helpcontext(0x00044622)]
        HRESULT Hwnd([in] stdole.OLE_HANDLE pohHwnd);
        [id(0x00000016), propget, helpstring("Returns/sets a value indicating whether the contents in a RichTextBox control can be edited."), helpcontext(0x0004461a)]
        HRESULT Locked([out, retval] VARIANT_BOOL* pfLocked);
        [id(0x00000016), propput, helpstring("Returns/sets a value indicating whether the contents in a RichTextBox control can be edited."), helpcontext(0x0004461a)]
        HRESULT Locked([in] VARIANT_BOOL pfLocked);
        [id(0x0000000c), propget, helpstring("Returns/sets a value indicating whether there is a maximum number of characters a RichTextBox control can hold and, if so, specifies the maximum number of characters."), helpcontext(0x0004460f)]
        HRESULT MaxLength([out, retval] long* plMaxLength);
        [id(0x0000000c), propput, helpstring("Returns/sets a value indicating whether there is a maximum number of characters a RichTextBox control can hold and, if so, specifies the maximum number of characters."), helpcontext(0x0004460f)]
        HRESULT MaxLength([in] long plMaxLength);
        [id(0x00000006), propget, helpstring("Sets a custom mouse icon."), helpcontext(0x00044609)]
        HRESULT MouseIcon([out, retval] stdole.IPictureDisp** ppMouseIcon);
        [id(0x00000006), propput, helpstring("Sets a custom mouse icon."), helpcontext(0x00044609)]
        HRESULT MouseIcon([in] stdole.IPictureDisp* ppMouseIcon);
        [id(0x00000006), propputref, helpstring("Sets a custom mouse icon."), helpcontext(0x00044609)]
        HRESULT MouseIcon([in] stdole.IPictureDisp* ppMouseIcon);
        [id(0x00000001), propget, helpstring("Returns/sets a value indicating the type of mouse pointer displayed when the mouse is over the control at run time."), helpcontext(0x00044608)]
        HRESULT MousePointer([out, retval] MousePointerConstants* pMousePointer);
        [id(0x00000001), propput, helpstring("Returns/sets a value indicating the type of mouse pointer displayed when the mouse is over the control at run time."), helpcontext(0x00044608)]
        HRESULT MousePointer([in] MousePointerConstants pMousePointer);
        [id(0x00000003), propget, helpstring("Returns/sets a value indicating whether a RichTextBox control can accept and display multiple lines of text."), helpcontext(0x00044605)]
        HRESULT MultiLine([out, retval] VARIANT_BOOL* pfMultiLine);
        [id(0x00000003), propput, helpstring("Returns/sets a value indicating whether a RichTextBox control can accept and display multiple lines of text."), helpcontext(0x00044605)]
        HRESULT MultiLine([in] VARIANT_BOOL pfMultiLine);
        [id(0x00000020), propget, helpstring("Sets the right margin used for textwrap, centering, etc."), helpcontext(0x00044625)]
        HRESULT RightMargin([out, retval] float* pflRightMargin);
        [id(0x00000020), propput, helpstring("Sets the right margin used for textwrap, centering, etc."), helpcontext(0x00044625)]
        HRESULT RightMargin([in] float pflRightMargin);
        [id(0x00000004), propget, helpstring("Returns/sets a value indicating whether a RichTextBox control has horizontal or vertical scroll bars."), helpcontext(0x00044606)]
        HRESULT ScrollBars([out, retval] ScrollBarsConstants* psbcScrollBars);
        [id(0x00000004), propput, helpstring("Returns/sets a value indicating whether a RichTextBox control has horizontal or vertical scroll bars."), helpcontext(0x00044606)]
        HRESULT ScrollBars([in] ScrollBarsConstants psbcScrollBars);
        [id(0x0000001c), propget, helpstring("Returns/sets a value that controls the alignment of the paragraphs in a RichTextBox control."), helpcontext(0x00044620)]
        HRESULT SelAlignment([out, retval] VARIANT* pvarSelAlignment);
        [id(0x0000001c), propput, helpstring("Returns/sets a value that controls the alignment of the paragraphs in a RichTextBox control."), helpcontext(0x00044620)]
        HRESULT SelAlignment([in] VARIANT pvarSelAlignment);
        [id(0x00000018), propget, helpstring("Returns/set the bold format of the currently selected text."), helpcontext(0x0004461c)]
        HRESULT SelBold([out, retval] VARIANT* pvarSelBold);
        [id(0x00000018), propput, helpstring("Returns/set the bold format of the currently selected text."), helpcontext(0x0004461c)]
        HRESULT SelBold([in] VARIANT pvarSelBold);
        [id(0x0000001f), propget, helpstring("Returns/sets a value that determines if a paragraph in the RichTextBox control containing the current selection or insertion point has the bullet style."), helpcontext(0x00044624)]
        HRESULT SelBullet([out, retval] VARIANT* pvarSelBullet);
        [id(0x0000001f), propput, helpstring("Returns/sets a value that determines if a paragraph in the RichTextBox control containing the current selection or insertion point has the bullet style."), helpcontext(0x00044624)]
        HRESULT SelBullet([in] VARIANT pvarSelBullet);
        [id(0x00000010), propget, helpstring("Returns/sets a value that determines whether text in the RichTextBox control appears on the baseline (normal), as a superscript above the baseline, or as a subscript below the baseline."), helpcontext(0x00044613)]
        HRESULT SelCharOffset([out, retval] VARIANT* pvarSelCharOffset);
        [id(0x00000010), propput, helpstring("Returns/sets a value that determines whether text in the RichTextBox control appears on the baseline (normal), as a superscript above the baseline, or as a subscript below the baseline."), helpcontext(0x00044613)]
        HRESULT SelCharOffset([in] VARIANT pvarSelCharOffset);
        [id(0x0000000d), propget, helpstring("Returns/sets a value that determines the color of text in the RichTextBox control."), helpcontext(0x00044610)]
        HRESULT SelColor([out, retval] VARIANT* pvarSelColor);
        [id(0x0000000d), propput, helpstring("Returns/sets a value that determines the color of text in the RichTextBox control."), helpcontext(0x00044610)]
        HRESULT SelColor([in] VARIANT pvarSelColor);
        [id(0x0000000e), propget, helpstring("Returns/sets the font used to display the currently selected text or the character(s) immediately following the insertion point in the RichTextBox control."), helpcontext(0x00044611)]
        HRESULT SelFontName([out, retval] VARIANT* pvarSelFontName);
        [id(0x0000000e), propput, helpstring("Returns/sets the font used to display the currently selected text or the character(s) immediately following the insertion point in the RichTextBox control."), helpcontext(0x00044611)]
        HRESULT SelFontName([in] VARIANT pvarSelFontName);
        [id(0x0000000f), propget, helpstring("Returns/sets a value that specifies the size of the font used to display text in a RichTextBox control."), helpcontext(0x00044612)]
        HRESULT SelFontSize([out, retval] VARIANT* pvarSelFontSize);
        [id(0x0000000f), propput, helpstring("Returns/sets a value that specifies the size of the font used to display text in a RichTextBox control."), helpcontext(0x00044612)]
        HRESULT SelFontSize([in] VARIANT pvarSelFontSize);
        [id(0x00000012), propget, helpstring("Returns/sets the distance between the left edge of the first line of text in the selected paragraph(s) (as specified by the SelIndent property) and the left edge of subsequent lines of text in the same paragraph(s)."), helpcontext(0x00044615)]
        HRESULT SelHangingIndent([out, retval] VARIANT* pvarSelHangingIndent);
        [id(0x00000012), propput, helpstring("Returns/sets the distance between the left edge of the first line of text in the selected paragraph(s) (as specified by the SelIndent property) and the left edge of subsequent lines of text in the same paragraph(s)."), helpcontext(0x00044615)]
        HRESULT SelHangingIndent([in] VARIANT pvarSelHangingIndent);
        [id(0x00000011), propget, helpstring("Returns/sets the distance between the left edge of the RichTextBox control and the left edge of the text that is selected or added at the current insertion point."), helpcontext(0x00044614)]
        HRESULT SelIndent([out, retval] VARIANT* pvarSelIndent);
        [id(0x00000011), propput, helpstring("Returns/sets the distance between the left edge of the RichTextBox control and the left edge of the text that is selected or added at the current insertion point."), helpcontext(0x00044614)]
        HRESULT SelIndent([in] VARIANT pvarSelIndent);
        [id(0x00000019), propget, helpstring("Returns/set the italic format of the currently selected text."), helpcontext(0x0004461d)]
        HRESULT SelItalic([out, retval] VARIANT* pvarSelItalic);
        [id(0x00000019), propput, helpstring("Returns/set the italic format of the currently selected text."), helpcontext(0x0004461d)]
        HRESULT SelItalic([in] VARIANT pvarSelItalic);
        [id(0x00000005), propget, helpstring("Returns/sets the number of characters selected."), helpcontext(0x00044607)]
        HRESULT SelLength([out, retval] long* plSelLength);
        [id(0x00000005), propput, helpstring("Returns/sets the number of characters selected."), helpcontext(0x00044607)]
        HRESULT SelLength([in] long plSelLength);
        [id(0x00000030), propget, helpstring("Returns/sets a value that determines if the selected text is protected against editing."), helpcontext(0x0004462f)]
        HRESULT SelProtected([out, retval] VARIANT* pvarSelProtected);
        [id(0x00000030), propput, helpstring("Returns/sets a value that determines if the selected text is protected against editing."), helpcontext(0x0004462f)]
        HRESULT SelProtected([in] VARIANT pvarSelProtected);
        [id(0x00000015), propget, helpstring("Returns/sets the distance between the right edge of the RichTextBox control and the right edge of the text that is selected or added at the current insertion point."), helpcontext(0x00044618)]
        HRESULT SelRightIndent([out, retval] VARIANT* pvarSelRightIndent);
        [id(0x00000015), propput, helpstring("Returns/sets the distance between the right edge of the RichTextBox control and the right edge of the text that is selected or added at the current insertion point."), helpcontext(0x00044618)]
        HRESULT SelRightIndent([in] VARIANT pvarSelRightIndent);
        [id(0x0000000b), propget, helpstring("Returns/sets the text (in .RTF format) in the current selection of a RichTextBox control."), helpcontext(0x0004460e)]
        HRESULT SelRTF([out, retval] BSTR* pbstrSelRTF);
        [id(0x0000000b), propput, helpstring("Returns/sets the text (in .RTF format) in the current selection of a RichTextBox control."), helpcontext(0x0004460e)]
        HRESULT SelRTF([in] BSTR pbstrSelRTF);
        [id(0x00000008), propget, helpstring("Returns/sets the starting point of text selected; indicates the position of the insertion point if no text is selected."), helpcontext(0x0004460b)]
        HRESULT SelStart([out, retval] long* plSelStart);
        [id(0x00000008), propput, helpstring("Returns/sets the starting point of text selected; indicates the position of the insertion point if no text is selected."), helpcontext(0x0004460b)]
        HRESULT SelStart([in] long plSelStart);
        [id(0x0000001a), propget, helpstring("Returns/set the strikethru format of the currently selected text."), helpcontext(0x0004461e)]
        HRESULT SelStrikeThru([out, retval] VARIANT* pvarSelStrikeThru);
        [id(0x0000001a), propput, helpstring("Returns/set the strikethru format of the currently selected text."), helpcontext(0x0004461e)]
        HRESULT SelStrikeThru([in] VARIANT pvarSelStrikeThru);
        [id(0x00000014), propget, helpstring("Returns/sets the number of tabs in a RichTextBox control.  Used in conjunction with the SelTab Property."), helpcontext(0x00044617)]
        HRESULT SelTabCount([out, retval] VARIANT* pvarSelTabCount);
        [id(0x00000014), propput, helpstring("Returns/sets the number of tabs in a RichTextBox control.  Used in conjunction with the SelTab Property."), helpcontext(0x00044617)]
        HRESULT SelTabCount([in] VARIANT pvarSelTabCount);
        [id(0x00000009), propget, helpstring("Returns/sets the string containing the currently selected text; consists of a zero-length string if no characters are selected."), helpcontext(0x0004460c)]
        HRESULT SelText([out, retval] BSTR* pbstrSelText);
        [id(0x00000009), propput, helpstring("Returns/sets the string containing the currently selected text; consists of a zero-length string if no characters are selected."), helpcontext(0x0004460c)]
        HRESULT SelText([in] BSTR pbstrSelText);
        [id(0x0000001b), propget, helpstring("Returns/set the underline format of the currently selected text."), helpcontext(0x0004461f)]
        HRESULT SelUnderline([out, retval] VARIANT* pvarSelUnderline);
        [id(0x0000001b), propput, helpstring("Returns/set the underline format of the currently selected text."), helpcontext(0x0004461f)]
        HRESULT SelUnderline([in] VARIANT pvarSelUnderline);
        [id(0xfffffdfb), propget, helpstring("Returns/sets the text contained in an object."), helpcontext(0x00044604)]
        HRESULT Text([out, retval] BSTR* pbstrText);
        [id(0xfffffdfb), propput, helpstring("Returns/sets the text contained in an object."), helpcontext(0x00044604)]
        HRESULT Text([in] BSTR pbstrText);
        [id(0x0000000a), propget, bindable, displaybind, defaultbind, helpstring("Returns/sets the text of a RichTextBox control, including all .RTF code."), helpcontext(0x0004460d)]
        HRESULT TextRTF([out, retval] BSTR* pbstrTextRTF);
        [id(0x0000000a), propput, bindable, displaybind, helpstring("Returns/sets the text of a RichTextBox control, including all .RTF code."), helpcontext(0x0004460d)]
        HRESULT TextRTF([in] BSTR pbstrTextRTF);
        [id(0x0000002a), propget, helpstring("The RichTextBox control enables you to add insertable objects to an RTF file. Insertable objects are represented by the OLEObject."), helpcontext(0x00044630)]
        HRESULT OLEObjects([out, retval] IOLEObjects** ppOLEObjects);
        [id(0x0000002b), propget, helpstring("Returns/sets a value that indicating whether the selected object's verbs will be displayed in a popup menu when the right mouse button is clicked."), helpcontext(0x00044632)]
        HRESULT AutoVerbMenu([out, retval] VARIANT_BOOL* pfOn);
        [id(0x0000002b), propput, helpstring("Returns/sets a value that indicating whether the selected object's verbs will be displayed in a popup menu when the right mouse button is clicked."), helpcontext(0x00044632)]
        HRESULT AutoVerbMenu([in] VARIANT_BOOL pfOn);
        [id(0x0000060e), propget, helpstring("Returns/Sets whether this control can act as an OLE drag/drop source, and whether this process is started automatically or under programmatic control."), helpcontext(0x0004465c)]
        HRESULT OLEDragMode([out, retval] OLEDragConstants* psOLEDragMode);
        [id(0x0000060e), propput, helpstring("Returns/Sets whether this control can act as an OLE drag/drop source, and whether this process is started automatically or under programmatic control."), helpcontext(0x0004465c)]
        HRESULT OLEDragMode([in] OLEDragConstants psOLEDragMode);
        [id(0x0000060f), propget, helpstring("Returns/Sets whether this control can act as an OLE drop target."), helpcontext(0x0004465d)]
        HRESULT OLEDropMode([out, retval] OLEDropConstants* psOLEDropMode);
        [id(0x0000060f), propput, helpstring("Returns/Sets whether this control can act as an OLE drop target."), helpcontext(0x0004465d)]
        HRESULT OLEDropMode([in] OLEDropConstants psOLEDropMode);
        [id(0xfffffdd8), hidden]
        void AboutBox();
        [id(0x00000022), helpstring("Searches the text in a RichTextBox control for a given string."), helpcontext(0x00044628)]
        HRESULT Find(
            [in] BSTR bstrString,
            [in, optional] VARIANT vStart,
            [in, optional] VARIANT vEnd,
            [in, optional] VARIANT vOptions,
            [out, retval, optional] long* plFind);
        [id(0x00000021), helpstring("Returns the number of the line containing a specified character position in a RichTextBox control."), helpcontext(0x00044626)]
        HRESULT GetLineFromChar(
            [in] long lChar,
            [out, retval] long* plLine);
        [id(0x00000025), helpstring("Loads an .RTF file or text file into a RichTextBox control."), helpcontext(0x0004462c)]
        HRESULT LoadFile(
            [in] BSTR bstrFilename,
            [in, optional] VARIANT vFileType);
        [id(0xfffffdda), helpstring("Forces a complete repaint of a control."), helpcontext(0x00044627)]
        void Refresh();
        [id(0x00000026), helpstring("Saves the contents of a RichTextBox control to a file."), helpcontext(0x0004462d)]
        HRESULT SaveFile(
            [in] BSTR bstrFilename,
            [in, optional] VARIANT vFlags);
        [id(0x00000031), hidden]
        HRESULT UnusedSelPrint([in] long lHDC);
        [id(0x00000028), propget, helpstring("Returns/sets the absolute tab positions of text in a RichTextBox control.  Used in conjunction with the SelTabCount Property."), helpcontext(0x0004462b)]
        HRESULT SelTabs(
            [in] short sElement,
            [out, retval] VARIANT* pvarSelTab);
        [id(0x00000028), propput, helpstring("Returns/sets the absolute tab positions of text in a RichTextBox control.  Used in conjunction with the SelTabCount Property."), helpcontext(0x0004462b)]
        HRESULT SelTabs(
            [in] short sElement,
            [in] VARIANT pvarSelTab);
        [id(0x00000023), helpstring("Selects text in a RichTextBox control based on a set of specified characters."), helpcontext(0x00044629)]
        HRESULT Span(
            [in] BSTR bstrCharacterSet,
            [in, optional] VARIANT vForward,
            [in, optional] VARIANT vNegate);
        [id(0x00000024), helpstring("Moves the insertion point up to, but not including, the first character that is a member of the specified character set in a RichTextBox control."), helpcontext(0x0004462a)]
        HRESULT UpTo(
            [in] BSTR bstrCharacterSet,
            [in, optional] VARIANT vForward,
            [in, optional] VARIANT vNegate);
        [id(0x00000610), helpstring("Starts an OLE drag/drop event with the given control as the source."), helpcontext(0x0004465b)]
        HRESULT OLEDrag();
        [id(0x00000027), helpstring("Sends formatted text in a RichTextBox control to a device for printing."), helpcontext(0x0004462e)]
        HRESULT SelPrint(
            [in] long lHDC,
            [in, optional] VARIANT vStartDoc);
    };

    typedef [uuid(3B7C8861-D78F-101B-B9B5-04021C009402), public]
    IRichText IRichText10;

    typedef [uuid(D92641A0-DF79-11CF-8E74-00A0C90F26F8), public]
    IRichText IRichText11;

    [
        uuid(3B7C8862-D78F-101B-B9B5-04021C009402),
        helpstring("Event interface for RichText control"),
        helpcontext(0x00007d0e),
        nonextensible
    ]
    dispinterface DRichTextEvents {
    properties:
    methods:
        [id(0x00000001), helpstring("Indicates that the contents of a control have changed."), helpcontext(0x00044636)]
        void Change();
        [id(0xfffffda8), helpstring("Occurs when the user presses and then releases a mouse button over an object."), helpcontext(0x00044637)]
        void Click();
        [id(0xfffffda7), helpstring("Occurs when the user presses and releases a mouse button and then presses and releases it again over an object."), helpcontext(0x00044638)]
        void DblClick();
        [id(0xfffffda6), helpstring("Occurs when the user presses a key while an object has the focus."), helpcontext(0x00044639)]
        void KeyDown(
            short* KeyCode,
            short Shift);
        [id(0xfffffda4), helpstring("Occurs when the user releases a key while an object has the focus."), helpcontext(0x0004463a)]
        void KeyUp(
            short* KeyCode,
            short Shift);
        [id(0xfffffda5), helpstring("Occurs when the user presses and releases an ANSI key."), helpcontext(0x0004463b)]
        void KeyPress(short* KeyAscii);
        [id(0xfffffda3), helpstring("Occurs when the user presses a mouse button."), helpcontext(0x0004463c)]
        void MouseDown(
            short Button,
            short Shift,
            stdole.OLE_XPOS_PIXELS x,
            stdole.OLE_YPOS_PIXELS y);
        [id(0xfffffda2), helpstring("Occurs when the user moves the mouse."), helpcontext(0x0004463d)]
        void MouseMove(
            short Button,
            short Shift,
            stdole.OLE_XPOS_PIXELS x,
            stdole.OLE_YPOS_PIXELS y);
        [id(0xfffffda1), helpstring("Occurs when the user presses and releases a mouse button."), helpcontext(0x0004463e)]
        void MouseUp(
            short Button,
            short Shift,
            stdole.OLE_XPOS_PIXELS x,
            stdole.OLE_YPOS_PIXELS y);
        [id(0x00000002), helpstring("Occurs when the current selection of text in the RichTextBox control has changed or the insertion point has moved."), helpcontext(0x0004463f)]
        void SelChange();
        [id(0x0000060e), helpstring("OLEStartDrag event"), helpcontext(0x0004467d)]
        void OLEStartDrag(
            [in, out] DataObject** Data,
            [in, out] long* AllowedEffects);
        [id(0x0000060f), helpstring("OLEGiveFeedback event"), helpcontext(0x0004467e)]
        void OLEGiveFeedback(
            [in, out] long* Effect,
            [in, out] VARIANT_BOOL* DefaultCursors);
        [id(0x00000610), helpstring("OLESetData event"), helpcontext(0x0004467f)]
        void OLESetData(
            [in, out] DataObject** Data,
            [in, out] short* DataFormat);
        [id(0x00000611), helpstring("OLECompleteDrag event"), helpcontext(0x00044680)]
        void OLECompleteDrag([in, out] long* Effect);
        [id(0x00000612), helpstring("OLEDragOver event"), helpcontext(0x00044681)]
        void OLEDragOver(
            [in, out] DataObject** Data,
            [in, out] long* Effect,
            [in, out] short* Button,
            [in, out] short* Shift,
            [in, out] float* x,
            [in, out] float* y,
            [in, out] short* State);
        [id(0x00000613), helpstring("OLEDragDrop event"), helpcontext(0x00044682)]
        void OLEDragDrop(
            [in, out] DataObject** Data,
            [in, out] long* Effect,
            [in, out] short* Button,
            [in, out] short* Shift,
            [in, out] float* x,
            [in, out] float* y);
    };

    [
        uuid(3B7C8860-D78F-101B-B9B5-04021C009402),
        helpstring("Microsoft Rich Textbox Control 6.0 (SP4)"),
        helpcontext(0x000445c0),
        licensed,
        control
    ]
    coclass RichTextBox {
        [default] interface IRichText;
        [default, source] dispinterface DRichTextEvents;
    };

    [
        uuid(4A8F35A0-D900-11CF-89B4-00AA00688B10),
        helpstring("RichText Control OLEObjects Collection Interface"),
        helpcontext(0x000445fb)
    ]
    coclass OLEObjects {
        [default] interface IOLEObjects;
    };

    [
        uuid(4A8F35A1-D900-11CF-89B4-00AA00688B10),
        helpstring("The RichTextBox control enables you to add insertable objects to an RTF file. Insertable objects are represented by the OLEObject."),
        helpcontext(0x000445f1)
    ]
    coclass OLEObject {
        [default] interface IOLEObject;
    };

};