Example #1
0
        public static IMarkupPointer CreateMarkupPointer(this IMarkupServices ms)
        {
            IMarkupPointer mp;

            ms.CreateMarkupPointer(out mp);
            return(mp);
        }
Example #2
0
        /// <summary>
        /// Attempts to find and highlight a word
        /// based on it's index and wordlen
        /// within body element
        /// </summary>
        /// <param name="wordindex"></param>
        /// <param name="wordlen"></param>
        public void UnderLineWord(int wordindex, int wordlen)
        {
            IMarkupPointer impStart;
            IMarkupPointer impEnd;

            //Get body element
            IHTMLElement body = m_pDoc2.body;

            //Setup two markup pointers
            m_pMarkupServices.CreateMarkupPointer(out impStart);
            m_pMarkupServices.CreateMarkupPointer(out impEnd);

            //Position the markup pointers after beginning of the body tag
            impStart.MoveAdjacentToElement(body, (int)ELEMENT_ADJACENCY.ELEM_ADJ_AfterBegin);
            impEnd.MoveAdjacentToElement(body, (int)ELEMENT_ADJACENCY.ELEM_ADJ_AfterBegin);

            //Move markup pointers accoring to wordindex value
            for (int i = 0; i < wordindex; i++)
            {
                impStart.MoveUnit((int)MOVEUNIT_ACTION.MOVEUNIT_NEXTWORDBEGIN);
                impEnd.MoveUnit((int)MOVEUNIT_ACTION.MOVEUNIT_NEXTWORDBEGIN);
            }

            //Setup new element
            IHTMLElement ttelem = null;

            m_pMarkupServices.CreateElement((int)ELEMENT_TAG_ID.TAGID_TT, " ", out ttelem);
            //Adjust the end
            for (int i = 0; i < wordlen; i++)
            {
                impEnd.MoveUnit((int)MOVEUNIT_ACTION.MOVEUNIT_NEXTCHAR);
            }
            //Insert new element
            m_pMarkupServices.InsertElement(ttelem, impStart, impEnd);

            //Now highlight
            this.Underline(ttelem);
        }