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

IMarkupPointer

COM
IID3050f49f-98b5-11cf-bb82-00aa00bdce0b継承元IUnknown自前メソッド開始 vtbl3

メソッド 21

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT OwningDoc(IHTMLDocument2** ppDoc)
ppDocIHTMLDocument2**outこのマークアップポインタが属するドキュメントを受け取る IHTMLDocument2 へのポインタである。不要になったら Release する。
vtbl 4 HRESULT Gravity(POINTER_GRAVITY* pGravity)
pGravityPOINTER_GRAVITY*out現在のグラビティ(挿入時に左右どちらの内容に追従するか)の設定を受け取る POINTER_GRAVITY へのポインタである。
vtbl 5 HRESULT SetGravity(POINTER_GRAVITY Gravity)
GravityPOINTER_GRAVITYin設定するグラビティ(挿入時に左右どちらの内容に追従するか)を指定する POINTER_GRAVITY である。
vtbl 6 HRESULT Cling(BOOL* pfCling)
pfClingBOOL*outポインタが隣接テキストに吸着(クリング)する設定になっているかどうかを受け取る BOOL へのポインタである。
vtbl 7 HRESULT SetCling(BOOL fCLing)
fCLingBOOLinポインタを隣接テキストに吸着(クリング)させるかどうかを指定する BOOL である。
vtbl 8 HRESULT Unposition()
vtbl 9 HRESULT IsPositioned(BOOL* pfPositioned)
pfPositionedBOOL*outポインタが現在ドキュメント内に位置付けられているかどうかを受け取る BOOL へのポインタである。
vtbl 10 HRESULT GetContainer(IMarkupContainer** ppContainer)
ppContainerIMarkupContainer**outポインタが属するマークアップコンテナを受け取る IMarkupContainer へのポインタである。不要になったら Release する。
vtbl 11 HRESULT MoveAdjacentToElement(IHTMLElement* pElement, ELEMENT_ADJACENCY eAdj)
pElementIHTMLElement*in移動の基準とする HTML 要素を指定する IHTMLElement へのポインタである。
eAdjELEMENT_ADJACENCYin指定要素のどの隣接位置(開始/終了の内側または外側)へ移動するかを指定する ELEMENT_ADJACENCY である。
vtbl 12 HRESULT MoveToPointer(IMarkupPointer* pPointer)
pPointerIMarkupPointer*inこのポインタの移動先となる位置を持つ別の IMarkupPointer へのポインタである。
vtbl 13 HRESULT MoveToContainer(IMarkupContainer* pContainer, BOOL fAtStart)
pContainerIMarkupContainer*in移動先のマークアップコンテナを指定する IMarkupContainer へのポインタである。
fAtStartBOOLinコンテナの先頭へ移動する場合は TRUE、末尾へ移動する場合は FALSE を指定する BOOL である。
vtbl 14 HRESULT Left(BOOL fMove, MARKUP_CONTEXT_TYPE* pContext, IHTMLElement** ppElement, INT* pcch, LPWSTR pchText)
fMoveBOOLin実際にポインタを移動する場合は TRUE、走査のみで移動しない場合は FALSE を指定する BOOL である。
pContextMARKUP_CONTEXT_TYPE*out左側に隣接するコンテンツの種類を受け取る MARKUP_CONTEXT_TYPE へのポインタである。
ppElementIHTMLElement**out走査した要素を受け取る IHTMLElement へのポインタである。不要になったら Release する。
pcchINT*inout入力ではテキストバッファのサイズ、出力では取得した文字数を受け渡す INT へのポインタである。
pchTextLPWSTRout左側のテキストコンテンツを受け取る文字列バッファである。
vtbl 15 HRESULT Right(BOOL fMove, MARKUP_CONTEXT_TYPE* pContext, IHTMLElement** ppElement, INT* pcch, LPWSTR pchText)
fMoveBOOLin実際にポインタを移動する場合は TRUE、走査のみで移動しない場合は FALSE を指定する BOOL である。
pContextMARKUP_CONTEXT_TYPE*out右側に隣接するコンテンツの種類を受け取る MARKUP_CONTEXT_TYPE へのポインタである。
ppElementIHTMLElement**out走査した要素を受け取る IHTMLElement へのポインタである。不要になったら Release する。
pcchINT*inout入力ではテキストバッファのサイズ、出力では取得した文字数を受け渡す INT へのポインタである。
pchTextLPWSTRout右側のテキストコンテンツを受け取る文字列バッファである。
vtbl 16 HRESULT CurrentScope(IHTMLElement** ppElemCurrent)
ppElemCurrentIHTMLElement**outポインタを直接包含している現在のスコープ要素を受け取る IHTMLElement へのポインタである。不要になったら Release する。
vtbl 17 HRESULT IsLeftOf(IMarkupPointer* pPointerThat, BOOL* pfResult)
pPointerThatIMarkupPointer*in比較対象とする別の IMarkupPointer へのポインタである。
pfResultBOOL*outこのポインタが比較対象の左側にあるかどうかを受け取る BOOL へのポインタである。
vtbl 18 HRESULT IsLeftOfOrEqualTo(IMarkupPointer* pPointerThat, BOOL* pfResult)
pPointerThatIMarkupPointer*in比較対象とする別の IMarkupPointer へのポインタである。
pfResultBOOL*outこのポインタが比較対象の左側または同位置にあるかどうかを受け取る BOOL へのポインタである。
vtbl 19 HRESULT IsRightOf(IMarkupPointer* pPointerThat, BOOL* pfResult)
pPointerThatIMarkupPointer*in比較対象とする別の IMarkupPointer へのポインタである。
pfResultBOOL*outこのポインタが比較対象の右側にあるかどうかを受け取る BOOL へのポインタである。
vtbl 20 HRESULT IsRightOfOrEqualTo(IMarkupPointer* pPointerThat, BOOL* pfResult)
pPointerThatIMarkupPointer*in比較対象とする別の IMarkupPointer へのポインタである。
pfResultBOOL*outこのポインタが比較対象の右側または同位置にあるかどうかを受け取る BOOL へのポインタである。
vtbl 21 HRESULT IsEqualTo(IMarkupPointer* pPointerThat, BOOL* pfAreEqual)
pPointerThatIMarkupPointer*in比較対象とする別の IMarkupPointer へのポインタである。
pfAreEqualBOOL*out両ポインタが同じ位置を指しているかどうかを受け取る BOOL へのポインタである。
vtbl 22 HRESULT MoveUnit(MOVEUNIT_ACTION muAction)
muActionMOVEUNIT_ACTIONinポインタを移動させる単位と方向(文字・単語・行など)を指定する MOVEUNIT_ACTION である。
vtbl 23 HRESULT FindText(LPWSTR pchFindText, DWORD dwFlags, IMarkupPointer* pIEndMatch, IMarkupPointer* pIEndSearch)
pchFindTextLPWSTRin検索する対象のテキスト文字列を指定する。
dwFlagsDWORDin検索方法を制御するフラグの組み合わせを指定する DWORD である。
pIEndMatchIMarkupPointer*in一致したテキストの終端位置を受け取る IMarkupPointer へのポインタである。不要な場合は NULL を指定できる。
pIEndSearchIMarkupPointer*in検索範囲の終端を指定する IMarkupPointer へのポインタである。NULL を指定すると文書末尾まで検索する。

HSP用 COM定義

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

出力引数:
#define global IID_IMarkupPointer "{3050F49F-98B5-11CF-BB82-00AA00BDCE0B}"
#usecom global IMarkupPointer IID_IMarkupPointer "{}"
#comfunc global IMarkupPointer_OwningDoc              3 sptr
#comfunc global IMarkupPointer_Gravity                4 var
#comfunc global IMarkupPointer_SetGravity             5 int
#comfunc global IMarkupPointer_Cling                  6 var
#comfunc global IMarkupPointer_SetCling               7 int
#comfunc global IMarkupPointer_Unposition             8
#comfunc global IMarkupPointer_IsPositioned           9 var
#comfunc global IMarkupPointer_GetContainer           10 sptr
#comfunc global IMarkupPointer_MoveAdjacentToElement  11 sptr,int
#comfunc global IMarkupPointer_MoveToPointer          12 sptr
#comfunc global IMarkupPointer_MoveToContainer        13 sptr,int
#comfunc global IMarkupPointer_Left                   14 int,var,sptr,var,var
#comfunc global IMarkupPointer_Right                  15 int,var,sptr,var,var
#comfunc global IMarkupPointer_CurrentScope           16 sptr
#comfunc global IMarkupPointer_IsLeftOf               17 sptr,var
#comfunc global IMarkupPointer_IsLeftOfOrEqualTo      18 sptr,var
#comfunc global IMarkupPointer_IsRightOf              19 sptr,var
#comfunc global IMarkupPointer_IsRightOfOrEqualTo     20 sptr,var
#comfunc global IMarkupPointer_IsEqualTo              21 sptr,var
#comfunc global IMarkupPointer_MoveUnit               22 int
#comfunc global IMarkupPointer_FindText               23 wstr,int,sptr,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。