Win32 API 日本語リファレンス
ホームWeb.MsHtml › IHTMLDOMRange

IHTMLDOMRange

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IID305104ae-98b5-11cf-bb82-00aa00bdce0b継承元IDispatch呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl7

メソッド 26

vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。

vtbl 7 HRESULT get_startContainer(IHTMLDOMNode** p)
pIHTMLDOMNode**out範囲の開始位置が属するノードを受け取る IHTMLDOMNode インターフェイスへのポインタである。
vtbl 8 HRESULT get_startOffset(INT* p)
pINT*out開始コンテナ内での範囲開始オフセットを受け取るポインタである。
vtbl 9 HRESULT get_endContainer(IHTMLDOMNode** p)
pIHTMLDOMNode**out範囲の終了位置が属するノードを受け取る IHTMLDOMNode インターフェイスへのポインタである。
vtbl 10 HRESULT get_endOffset(INT* p)
pINT*out終了コンテナ内での範囲終了オフセットを受け取るポインタである。
vtbl 11 HRESULT get_collapsed(VARIANT_BOOL* p)
pVARIANT_BOOL*out範囲が折りたたまれている(開始と終了が同一位置)かどうかを受け取る真偽値ポインタである。
vtbl 12 HRESULT get_commonAncestorContainer(IHTMLDOMNode** p)
pIHTMLDOMNode**out範囲の開始と終了の両方を含む最も近い共通祖先ノードを受け取る IHTMLDOMNode インターフェイスへのポインタである。
vtbl 13 HRESULT setStart(IDispatch* refNode, INT offset)
refNodeIDispatch*in範囲の開始位置の基準となるノードを指定する IDispatch へのポインタである。
offsetINTin基準ノード内での開始オフセットを指定する。
vtbl 14 HRESULT setEnd(IDispatch* refNode, INT offset)
refNodeIDispatch*in範囲の終了位置の基準となるノードを指定する IDispatch へのポインタである。
offsetINTin基準ノード内での終了オフセットを指定する。
vtbl 15 HRESULT setStartBefore(IDispatch* refNode)
refNodeIDispatch*in範囲の開始位置をその直前に設定する基準ノードを指定する IDispatch へのポインタである。
vtbl 16 HRESULT setStartAfter(IDispatch* refNode)
refNodeIDispatch*in範囲の開始位置をその直後に設定する基準ノードを指定する IDispatch へのポインタである。
vtbl 17 HRESULT setEndBefore(IDispatch* refNode)
refNodeIDispatch*in範囲の終了位置をその直前に設定する基準ノードを指定する IDispatch へのポインタである。
vtbl 18 HRESULT setEndAfter(IDispatch* refNode)
refNodeIDispatch*in範囲の終了位置をその直後に設定する基準ノードを指定する IDispatch へのポインタである。
vtbl 19 HRESULT collapse(VARIANT_BOOL toStart)
toStartVARIANT_BOOLinVARIANT_TRUE のとき範囲を開始位置へ、VARIANT_FALSE のとき終了位置へ折りたたむかを指定する真偽値である。
vtbl 20 HRESULT selectNode(IDispatch* refNode)
refNodeIDispatch*in範囲として選択する対象ノードを指定する IDispatch へのポインタである。
vtbl 21 HRESULT selectNodeContents(IDispatch* refNode)
refNodeIDispatch*inその内容全体を範囲として選択する対象ノードを指定する IDispatch へのポインタである。
vtbl 22 HRESULT compareBoundaryPoints(SHORT how, IDispatch* sourceRange, INT* compareResult)
howSHORTin比較する境界点の組み合わせを表す定数を指定する。
sourceRangeIDispatch*in比較対象となる範囲を指定する IDispatch へのポインタである。
compareResultINT*out境界点の前後関係(-1, 0, 1)を受け取るポインタである。
vtbl 23 HRESULT deleteContents()
vtbl 24 HRESULT extractContents(IDispatch** ppDocumentFragment)
ppDocumentFragmentIDispatch**out範囲の内容を文書から切り出して格納したドキュメントフラグメントを受け取る IDispatch インターフェイスへのポインタである。
vtbl 25 HRESULT cloneContents(IDispatch** ppDocumentFragment)
ppDocumentFragmentIDispatch**out範囲の内容を複製して格納したドキュメントフラグメントを受け取る IDispatch インターフェイスへのポインタである。
vtbl 26 HRESULT insertNode(IDispatch* newNode)
newNodeIDispatch*in範囲の開始位置に挿入するノードを指定する IDispatch へのポインタである。
vtbl 27 HRESULT surroundContents(IDispatch* newParent)
newParentIDispatch*in範囲の内容を包み込む新しい親ノードを指定する IDispatch へのポインタである。
vtbl 28 HRESULT cloneRange(IHTMLDOMRange** ppClonedRange)
ppClonedRangeIHTMLDOMRange**out現在の範囲を複製した新しい範囲を受け取る IHTMLDOMRange インターフェイスへのポインタである。
vtbl 29 HRESULT toString(LPWSTR* pRangeString)
pRangeStringLPWSTR*out範囲内のテキスト内容を受け取る文字列ポインタである。
vtbl 30 HRESULT detach()
vtbl 31 HRESULT getClientRects(IHTMLRectCollection** ppRectCol)
ppRectColIHTMLRectCollection**out範囲を構成する各矩形を集めたコレクションを受け取る IHTMLRectCollection インターフェイスへのポインタである。
vtbl 32 HRESULT getBoundingClientRect(IHTMLRect** ppRect)
ppRectIHTMLRect**out範囲全体を囲む外接矩形を受け取る IHTMLRect インターフェイスへのポインタである。

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IHTMLDOMRange "{305104AE-98B5-11CF-BB82-00AA00BDCE0B}"
#usecom global IHTMLDOMRange IID_IHTMLDOMRange "{}"
#comfunc global IHTMLDOMRange_get_startContainer           7 sptr
#comfunc global IHTMLDOMRange_get_startOffset              8 var
#comfunc global IHTMLDOMRange_get_endContainer             9 sptr
#comfunc global IHTMLDOMRange_get_endOffset                10 var
#comfunc global IHTMLDOMRange_get_collapsed                11 var
#comfunc global IHTMLDOMRange_get_commonAncestorContainer  12 sptr
#comfunc global IHTMLDOMRange_setStart                     13 sptr,int
#comfunc global IHTMLDOMRange_setEnd                       14 sptr,int
#comfunc global IHTMLDOMRange_setStartBefore               15 sptr
#comfunc global IHTMLDOMRange_setStartAfter                16 sptr
#comfunc global IHTMLDOMRange_setEndBefore                 17 sptr
#comfunc global IHTMLDOMRange_setEndAfter                  18 sptr
#comfunc global IHTMLDOMRange_collapse                     19 int
#comfunc global IHTMLDOMRange_selectNode                   20 sptr
#comfunc global IHTMLDOMRange_selectNodeContents           21 sptr
#comfunc global IHTMLDOMRange_compareBoundaryPoints        22 int,sptr,var
#comfunc global IHTMLDOMRange_deleteContents               23
#comfunc global IHTMLDOMRange_extractContents              24 sptr
#comfunc global IHTMLDOMRange_cloneContents                25 sptr
#comfunc global IHTMLDOMRange_insertNode                   26 sptr
#comfunc global IHTMLDOMRange_surroundContents             27 sptr
#comfunc global IHTMLDOMRange_cloneRange                   28 sptr
#comfunc global IHTMLDOMRange_toString                     29 var
#comfunc global IHTMLDOMRange_detach                       30
#comfunc global IHTMLDOMRange_getClientRects               31 sptr
#comfunc global IHTMLDOMRange_getBoundingClientRect        32 sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。