ホーム › UI.Controls.RichEdit › IRichEditOleCallback
IRichEditOleCallback
COMメソッド 10
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
| lplpstg | IStorage** | out | 新しく作成したストレージを受け取るポインタである。 |
vtbl 4 HRESULT GetInPlaceContext(IOleInPlaceFrame** lplpFrame, IOleInPlaceUIWindow** lplpDoc, OLEINPLACEFRAMEINFO* lpFrameInfo)
| lplpFrame | IOleInPlaceFrame** | out | インプレースアクティブ化に使用するフレームウィンドウを受け取るポインタである。 |
| lplpDoc | IOleInPlaceUIWindow** | out | インプレースアクティブ化に使用するドキュメントウィンドウを受け取るポインタである。 |
| lpFrameInfo | OLEINPLACEFRAMEINFO* | inout | フレーム情報を受け取る OLEINPLACEFRAMEINFO 構造体へのポインタである。 |
| fShow | BOOL | in | コンテナーの UI を表示する場合は TRUE、非表示にする場合は FALSE を指定する。 |
| lpclsid | GUID* | inout | 挿入しようとするオブジェクトのクラス識別子(CLSID)を指定する。 |
| lpstg | IStorage* | in | オブジェクトのストレージを指定する。 |
| cp | INT | in | 挿入位置の文字位置を指定する。 |
vtbl 7 HRESULT DeleteObject(IOleObject* lpoleobj)
| lpoleobj | IOleObject* | in | 削除される OLE オブジェクトを指定する。 |
vtbl 8 HRESULT QueryAcceptData(IDataObject* lpdataobj, WORD* lpcfFormat, RECO_FLAGS reco, BOOL fReally, HGLOBAL hMetaPict)
| lpdataobj | IDataObject* | in | 受け入れ可否を問い合わせるデータを含む IDataObject を指定する。 |
| lpcfFormat | WORD* | inout | 受け入れるクリップボード形式を渡し、必要に応じて変更後の形式を受け取るポインタである。 |
| reco | RECO_FLAGS | in | 操作の種類(貼り付けまたはドロップ)を示すフラグを指定する。 |
| fReally | BOOL | in | 実際にデータを受け入れる場合は TRUE、問い合わせのみの場合は FALSE を指定する。 |
| hMetaPict | HGLOBAL | in | メタファイル画像のハンドルを指定する。不要な場合は NULL を指定する。 |
| fEnterMode | BOOL | in | コンテキスト依存ヘルプモードに入る場合は TRUE、抜ける場合は FALSE を指定する。 |
vtbl 10 HRESULT GetClipboardData(CHARRANGE* lpchrg, DWORD reco, IDataObject** lplpdataobj)
| lpchrg | CHARRANGE* | inout | クリップボードデータを取得する文字範囲を指定する CHARRANGE へのポインタである。 |
| reco | DWORD | in | クリップボード操作の種類を示す値を指定する。 |
| lplpdataobj | IDataObject** | out | クリップボードデータを保持する IDataObject を受け取るポインタである。 |
vtbl 11 HRESULT GetDragDropEffect(BOOL fDrag, MODIFIERKEYS_FLAGS grfKeyState, DROPEFFECT* pdwEffect)
| fDrag | BOOL | in | ドラッグ中かどうかを指定する。 |
| grfKeyState | MODIFIERKEYS_FLAGS | in | 現在のキーおよびマウスボタンの状態を示すフラグを指定する。 |
| pdwEffect | DROPEFFECT* | inout | 許可するドラッグアンドドロップ効果を渡し、結果の効果を受け取るポインタである。 |
vtbl 12 HRESULT GetContextMenu(RICH_EDIT_GET_CONTEXT_MENU_SEL_TYPE seltype, IOleObject* lpoleobj, CHARRANGE* lpchrg, HMENU* lphmenu)
| seltype | RICH_EDIT_GET_CONTEXT_MENU_SEL_TYPE | in | 選択範囲の種類を指定する。 |
| lpoleobj | IOleObject* | in | 右クリックされた OLE オブジェクトを指定する。NULL を指定可能である。 |
| lpchrg | CHARRANGE* | inout | コンテキストメニュー表示対象の文字範囲を指定する CHARRANGE へのポインタである。 |
| lphmenu | HMENU* | inout | 表示するコンテキストメニューのハンドルを受け取るポインタである。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IRichEditOleCallback "{00020D03-0000-0000-C000-000000000046}" #usecom global IRichEditOleCallback IID_IRichEditOleCallback "{}" #comfunc global IRichEditOleCallback_GetNewStorage 3 sptr #comfunc global IRichEditOleCallback_GetInPlaceContext 4 sptr,sptr,var #comfunc global IRichEditOleCallback_ShowContainerUI 5 int #comfunc global IRichEditOleCallback_QueryInsertObject 6 var,sptr,int #comfunc global IRichEditOleCallback_DeleteObject 7 sptr #comfunc global IRichEditOleCallback_QueryAcceptData 8 sptr,var,int,int,sptr #comfunc global IRichEditOleCallback_ContextSensitiveHelp 9 int #comfunc global IRichEditOleCallback_GetClipboardData 10 var,int,sptr #comfunc global IRichEditOleCallback_GetDragDropEffect 11 int,int,var #comfunc global IRichEditOleCallback_GetContextMenu 12 int,sptr,var,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IRichEditOleCallback "{00020D03-0000-0000-C000-000000000046}" #usecom global IRichEditOleCallback IID_IRichEditOleCallback "{}" #comfunc global IRichEditOleCallback_GetNewStorage 3 sptr #comfunc global IRichEditOleCallback_GetInPlaceContext 4 sptr,sptr,sptr #comfunc global IRichEditOleCallback_ShowContainerUI 5 int #comfunc global IRichEditOleCallback_QueryInsertObject 6 sptr,sptr,int #comfunc global IRichEditOleCallback_DeleteObject 7 sptr #comfunc global IRichEditOleCallback_QueryAcceptData 8 sptr,sptr,int,int,sptr #comfunc global IRichEditOleCallback_ContextSensitiveHelp 9 int #comfunc global IRichEditOleCallback_GetClipboardData 10 sptr,int,sptr #comfunc global IRichEditOleCallback_GetDragDropEffect 11 int,int,sptr #comfunc global IRichEditOleCallback_GetContextMenu 12 int,sptr,sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。