ホーム › Web.MsHtml › IMarkupPointer
IMarkupPointer
COMメソッド 21
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT OwningDoc(IHTMLDocument2** ppDoc)
| ppDoc | IHTMLDocument2** | out | このマークアップポインタが属するドキュメントを受け取る IHTMLDocument2 へのポインタである。不要になったら Release する。 |
vtbl 4 HRESULT Gravity(POINTER_GRAVITY* pGravity)
| pGravity | POINTER_GRAVITY* | out | 現在のグラビティ(挿入時に左右どちらの内容に追従するか)の設定を受け取る POINTER_GRAVITY へのポインタである。 |
vtbl 5 HRESULT SetGravity(POINTER_GRAVITY Gravity)
| Gravity | POINTER_GRAVITY | in | 設定するグラビティ(挿入時に左右どちらの内容に追従するか)を指定する POINTER_GRAVITY である。 |
| pfCling | BOOL* | out | ポインタが隣接テキストに吸着(クリング)する設定になっているかどうかを受け取る BOOL へのポインタである。 |
| fCLing | BOOL | in | ポインタを隣接テキストに吸着(クリング)させるかどうかを指定する BOOL である。 |
vtbl 8 HRESULT Unposition()
| pfPositioned | BOOL* | out | ポインタが現在ドキュメント内に位置付けられているかどうかを受け取る BOOL へのポインタである。 |
vtbl 10 HRESULT GetContainer(IMarkupContainer** ppContainer)
| ppContainer | IMarkupContainer** | out | ポインタが属するマークアップコンテナを受け取る IMarkupContainer へのポインタである。不要になったら Release する。 |
vtbl 11 HRESULT MoveAdjacentToElement(IHTMLElement* pElement, ELEMENT_ADJACENCY eAdj)
| pElement | IHTMLElement* | in | 移動の基準とする HTML 要素を指定する IHTMLElement へのポインタである。 |
| eAdj | ELEMENT_ADJACENCY | in | 指定要素のどの隣接位置(開始/終了の内側または外側)へ移動するかを指定する ELEMENT_ADJACENCY である。 |
vtbl 12 HRESULT MoveToPointer(IMarkupPointer* pPointer)
| pPointer | IMarkupPointer* | in | このポインタの移動先となる位置を持つ別の IMarkupPointer へのポインタである。 |
vtbl 13 HRESULT MoveToContainer(IMarkupContainer* pContainer, BOOL fAtStart)
| pContainer | IMarkupContainer* | in | 移動先のマークアップコンテナを指定する IMarkupContainer へのポインタである。 |
| fAtStart | BOOL | in | コンテナの先頭へ移動する場合は TRUE、末尾へ移動する場合は FALSE を指定する BOOL である。 |
vtbl 14 HRESULT Left(BOOL fMove, MARKUP_CONTEXT_TYPE* pContext, IHTMLElement** ppElement, INT* pcch, LPWSTR pchText)
| fMove | BOOL | in | 実際にポインタを移動する場合は TRUE、走査のみで移動しない場合は FALSE を指定する BOOL である。 |
| pContext | MARKUP_CONTEXT_TYPE* | out | 左側に隣接するコンテンツの種類を受け取る MARKUP_CONTEXT_TYPE へのポインタである。 |
| ppElement | IHTMLElement** | out | 走査した要素を受け取る IHTMLElement へのポインタである。不要になったら Release する。 |
| pcch | INT* | inout | 入力ではテキストバッファのサイズ、出力では取得した文字数を受け渡す INT へのポインタである。 |
| pchText | LPWSTR | out | 左側のテキストコンテンツを受け取る文字列バッファである。 |
vtbl 15 HRESULT Right(BOOL fMove, MARKUP_CONTEXT_TYPE* pContext, IHTMLElement** ppElement, INT* pcch, LPWSTR pchText)
| fMove | BOOL | in | 実際にポインタを移動する場合は TRUE、走査のみで移動しない場合は FALSE を指定する BOOL である。 |
| pContext | MARKUP_CONTEXT_TYPE* | out | 右側に隣接するコンテンツの種類を受け取る MARKUP_CONTEXT_TYPE へのポインタである。 |
| ppElement | IHTMLElement** | out | 走査した要素を受け取る IHTMLElement へのポインタである。不要になったら Release する。 |
| pcch | INT* | inout | 入力ではテキストバッファのサイズ、出力では取得した文字数を受け渡す INT へのポインタである。 |
| pchText | LPWSTR | out | 右側のテキストコンテンツを受け取る文字列バッファである。 |
vtbl 16 HRESULT CurrentScope(IHTMLElement** ppElemCurrent)
| ppElemCurrent | IHTMLElement** | out | ポインタを直接包含している現在のスコープ要素を受け取る IHTMLElement へのポインタである。不要になったら Release する。 |
vtbl 17 HRESULT IsLeftOf(IMarkupPointer* pPointerThat, BOOL* pfResult)
| pPointerThat | IMarkupPointer* | in | 比較対象とする別の IMarkupPointer へのポインタである。 |
| pfResult | BOOL* | out | このポインタが比較対象の左側にあるかどうかを受け取る BOOL へのポインタである。 |
vtbl 18 HRESULT IsLeftOfOrEqualTo(IMarkupPointer* pPointerThat, BOOL* pfResult)
| pPointerThat | IMarkupPointer* | in | 比較対象とする別の IMarkupPointer へのポインタである。 |
| pfResult | BOOL* | out | このポインタが比較対象の左側または同位置にあるかどうかを受け取る BOOL へのポインタである。 |
vtbl 19 HRESULT IsRightOf(IMarkupPointer* pPointerThat, BOOL* pfResult)
| pPointerThat | IMarkupPointer* | in | 比較対象とする別の IMarkupPointer へのポインタである。 |
| pfResult | BOOL* | out | このポインタが比較対象の右側にあるかどうかを受け取る BOOL へのポインタである。 |
vtbl 20 HRESULT IsRightOfOrEqualTo(IMarkupPointer* pPointerThat, BOOL* pfResult)
| pPointerThat | IMarkupPointer* | in | 比較対象とする別の IMarkupPointer へのポインタである。 |
| pfResult | BOOL* | out | このポインタが比較対象の右側または同位置にあるかどうかを受け取る BOOL へのポインタである。 |
vtbl 21 HRESULT IsEqualTo(IMarkupPointer* pPointerThat, BOOL* pfAreEqual)
| pPointerThat | IMarkupPointer* | in | 比較対象とする別の IMarkupPointer へのポインタである。 |
| pfAreEqual | BOOL* | out | 両ポインタが同じ位置を指しているかどうかを受け取る BOOL へのポインタである。 |
vtbl 22 HRESULT MoveUnit(MOVEUNIT_ACTION muAction)
| muAction | MOVEUNIT_ACTION | in | ポインタを移動させる単位と方向(文字・単語・行など)を指定する MOVEUNIT_ACTION である。 |
vtbl 23 HRESULT FindText(LPWSTR pchFindText, DWORD dwFlags, IMarkupPointer* pIEndMatch, IMarkupPointer* pIEndSearch)
| pchFindText | LPWSTR | in | 検索する対象のテキスト文字列を指定する。 |
| dwFlags | DWORD | in | 検索方法を制御するフラグの組み合わせを指定する DWORD である。 |
| pIEndMatch | IMarkupPointer* | in | 一致したテキストの終端位置を受け取る IMarkupPointer へのポインタである。不要な場合は NULL を指定できる。 |
| pIEndSearch | IMarkupPointer* | 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 指定が可能。#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 sptr #comfunc global IMarkupPointer_SetGravity 5 int #comfunc global IMarkupPointer_Cling 6 sptr #comfunc global IMarkupPointer_SetCling 7 int #comfunc global IMarkupPointer_Unposition 8 #comfunc global IMarkupPointer_IsPositioned 9 sptr #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,sptr,sptr,sptr,sptr #comfunc global IMarkupPointer_Right 15 int,sptr,sptr,sptr,sptr #comfunc global IMarkupPointer_CurrentScope 16 sptr #comfunc global IMarkupPointer_IsLeftOf 17 sptr,sptr #comfunc global IMarkupPointer_IsLeftOfOrEqualTo 18 sptr,sptr #comfunc global IMarkupPointer_IsRightOf 19 sptr,sptr #comfunc global IMarkupPointer_IsRightOfOrEqualTo 20 sptr,sptr #comfunc global IMarkupPointer_IsEqualTo 21 sptr,sptr #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が無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。