Win32 API 日本語リファレンス
ホームUI.TextServices › IAnchor

IAnchor

COM
IID0feb7e34-5a60-4356-8ef7-abdec2ff7cf8継承元IUnknown自前メソッド開始 vtbl3

メソッド 11

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

vtbl 3 HRESULT SetGravity(TsGravity gravity)
gravityTsGravityinテキスト挿入時にアンカーが寄る方向(グラビティ)を指定する。
vtbl 4 HRESULT GetGravity(TsGravity* pgravity)
pgravityTsGravity*outアンカーのグラビティ(寄る方向)を受け取る出力ポインタである。
vtbl 5 HRESULT IsEqual(IAnchor* paWith, BOOL* pfEqual)
paWithIAnchor*in比較対象のアンカーへのポインタである。
pfEqualBOOL*out2 つのアンカーが同一位置を指すかどうかを受け取る出力ポインタである。
vtbl 6 HRESULT Compare(IAnchor* paWith, INT* plResult)
paWithIAnchor*in比較対象のアンカーへのポインタである。
plResultINT*out比較結果(負/0/正で前後関係)を受け取る出力ポインタである。
vtbl 7 HRESULT Shift(DWORD dwFlags, INT cchReq, INT* pcch, IAnchor* paHaltAnchor)
dwFlagsDWORDinアンカーの移動動作を制御するフラグを指定する。
cchReqINTin移動する文字数を指定する。負値で逆方向へ移動する。
pcchINT*out実際に移動した文字数を受け取る出力ポインタである。
paHaltAnchorIAnchor*in移動を打ち切る境界となるアンカーへのポインタである。
vtbl 8 HRESULT ShiftTo(IAnchor* paSite)
paSiteIAnchor*in移動先位置を示す対象アンカーへのポインタである。
vtbl 9 HRESULT ShiftRegion(DWORD dwFlags, TsShiftDir dir, BOOL* pfNoRegion)
dwFlagsDWORDinリージョン単位の移動動作を制御するフラグを指定する。
dirTsShiftDirin移動する方向を指定する。
pfNoRegionBOOL*out対象となるリージョンが存在しなかったかどうかを受け取る出力ポインタである。
vtbl 10 HRESULT SetChangeHistoryMask(DWORD dwMask)
dwMaskDWORDin記録する変更履歴の種類を示すマスクを指定する。
vtbl 11 HRESULT GetChangeHistory(ANCHOR_CHANGE_HISTORY_FLAGS* pdwHistory)
pdwHistoryANCHOR_CHANGE_HISTORY_FLAGS*outアンカー以降に発生した変更履歴を示すフラグを受け取る出力ポインタである。
vtbl 12 HRESULT ClearChangeHistory()
vtbl 13 HRESULT Clone(IAnchor** ppaClone)
ppaCloneIAnchor**out複製された新しいアンカーへのポインタを受け取る出力ポインタである。

HSP用 COM定義

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

出力引数:
#define global IID_IAnchor "{0FEB7E34-5A60-4356-8EF7-ABDEC2FF7CF8}"
#usecom global IAnchor IID_IAnchor "{}"
#comfunc global IAnchor_SetGravity            3 int
#comfunc global IAnchor_GetGravity            4 var
#comfunc global IAnchor_IsEqual               5 sptr,var
#comfunc global IAnchor_Compare               6 sptr,var
#comfunc global IAnchor_Shift                 7 int,int,var,sptr
#comfunc global IAnchor_ShiftTo               8 sptr
#comfunc global IAnchor_ShiftRegion           9 int,int,var
#comfunc global IAnchor_SetChangeHistoryMask  10 int
#comfunc global IAnchor_GetChangeHistory      11 var
#comfunc global IAnchor_ClearChangeHistory    12
#comfunc global IAnchor_Clone                 13 sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。