On 05.12.2017 10:09, Alex Henrie wrote:
- [
object,
uuid(ce04b590-2b1f-11d2-8d1e-00a0c959bc0a),
dual,
pointer_default(unique)
- ]
- interface IDHTMLSafe : IDispatch
- {
HRESULT ExecCommand(
[in] DHTMLEDITCMDID cmd_id,
[in, defaultvalue(OLECMDEXECOPT_DODEFAULT)] OLECMDEXECOPT options,
[in, optional] VARIANT *code_in,
[out, retval] VARIANT *code_out
);
HRESULT QueryStatus(
[in] DHTMLEDITCMDID cmd_id,
[out, retval] DHTMLEDITCMDF *status
);
HRESULT SetContextMenu(
[in] VARIANT *strings,
[in] VARIANT *states
);
HRESULT NewDocument();
HRESULT LoadURL([in] BSTR url);
HRESULT FilterSourceCode(
[in] BSTR in,
[out, retval] BSTR *out
);
HRESULT Refresh();
[propget] HRESULT DOM([out, retval] IHTMLDocument2 **value);
[propget] HRESULT DocumentHTML([out, retval] BSTR *value);
[propput] HRESULT DocumentHTML([in] BSTR html);
[propget] HRESULT ActivateApplets([out, retval] VARIANT_BOOL *value);
[propput] HRESULT ActivateApplets([in] VARIANT_BOOL value);
[propget] HRESULT ActivateActiveXControls([out, retval] VARIANT_BOOL *value);
[propput] HRESULT ActivateActiveXControls([in] VARIANT_BOOL value);
[propget] HRESULT ActivateDTCs([out, retval] VARIANT_BOOL *value);
[propput] HRESULT ActivateDTCs([in] VARIANT_BOOL value);
[propget] HRESULT ShowDetails([out, retval] VARIANT_BOOL *value);
[propput] HRESULT ShowDetails([in] VARIANT_BOOL value);
[propget] HRESULT ShowBorders([out, retval] VARIANT_BOOL *value);
[propput] HRESULT ShowBorders([in] VARIANT_BOOL value);
[propget] HRESULT Appearance([out, retval] DHTMLEDITAPPEARANCE *value);
[propput] HRESULT Appearance([in] DHTMLEDITAPPEARANCE value);
[propget] HRESULT Scrollbars([out, retval] VARIANT_BOOL *value);
[propput] HRESULT Scrollbars([in] VARIANT_BOOL value);
[propget] HRESULT ScrollbarAppearance([out, retval] DHTMLEDITAPPEARANCE *value);
[propput] HRESULT ScrollbarAppearance([in] DHTMLEDITAPPEARANCE value);
[propget] HRESULT SourceCodePreservation([out, retval] VARIANT_BOOL *value);
[propput] HRESULT SourceCodePreservation([in] VARIANT_BOOL value);
[propget] HRESULT AbsoluteDropMode([out, retval] VARIANT_BOOL *value);
[propput] HRESULT AbsoluteDropMode([in] VARIANT_BOOL value);
[propget] HRESULT SnapToGridX([out, retval] long *value);
[propput] HRESULT SnapToGridX([in] long value);
[propget] HRESULT SnapToGridY([out, retval] long *value);
[propput] HRESULT SnapToGridY([in] long value);
[propget] HRESULT SnapToGrid([out, retval] VARIANT_BOOL *value);
[propput] HRESULT SnapToGrid([in] VARIANT_BOOL value);
[propget] HRESULT IsDirty([out, retval] VARIANT_BOOL *value);
[propget] HRESULT CurrentDocumentPath([out, retval] BSTR *value);
[propget] HRESULT BaseURL([out, retval] BSTR *value);
[propput] HRESULT BaseURL([in] BSTR value);
[propget] HRESULT DocumentTitle([out, retval] BSTR *value);
[propget] HRESULT UseDivOnCarriageReturn([out, retval] VARIANT_BOOL *value);
[propput] HRESULT UseDivOnCarriageReturn([in] VARIANT_BOOL value);
[propget] HRESULT Busy([out, retval] VARIANT_BOOL *value);
- };
- [
uuid(d1fc78e8-b380-11d1-adc5-006008a5848c)
- ]
- dispinterface _DHTMLSafeEvents
- {
- properties:
- methods:
void DocumentComplete();
void DisplayChanged();
void ShowContextMenu(
[in] long x,
[in] long y
);
void ContextMenuAction([in] long index);
void onmousedown();
void onmousemove();
void onmouseup();
void onmouseout();
void onmouseover();
void onclick();
void ondblclick();
void onkeydown();
void onkeypress();
void onkeyup();
void onblur();
void onreadystatechange();
- };
- [
uuid(2d360201-fff5-11d1-8d03-00a0c959bc0a)
- ]
- coclass DHTMLSafe
- {
interface IDHTMLSafe;
interface _DHTMLSafeEvents;
- };
- [
uuid(ce04b591-2b1f-11d2-8d1e-00a0c959bc0a),
dual,
pointer_default(unique)
- ]
- interface IDHTMLEdit : IDHTMLSafe
- {
HRESULT LoadDocument(
[in] VARIANT *path,
[in, optional] VARIANT *prompt
);
HRESULT SaveDocument(
[in] VARIANT *path,
[in, optional] VARIANT *prompt
);
HRESULT PrintDocument([in, optional] VARIANT *prompt);
[propget] HRESULT BrowseMode([out, retval] VARIANT_BOOL *value);
[propput] HRESULT BrowseMode([in] VARIANT_BOOL value);
- };
- [
uuid(588d5040-cf28-11d1-8cd3-00a0c959bc0a)
- ]
- dispinterface _DHTMLEditEvents
- {
- properties:
- methods:
void DocumentComplete();
void DisplayChanged();
void ShowContextMenu(
[in] long x,
[in] long y
);
void ContextMenuAction([in] long index);
void onmousedown();
void onmousemove();
void onmouseup();
void onmouseout();
void onmouseover();
void onclick();
void ondblclick();
void onkeydown();
void onkeypress();
void onkeyup();
void onblur();
void onreadystatechange();
- };
You're missind [id()] attributes. Those are important doe IDispatch-based interfaces.
- [
uuid(2d360200-fff5-11d1-8d03-00a0c959bc0a)
- ]
- coclass DHTMLEdit
- {
interface IDHTMLEdit;
[default]
interface _DHTMLEditEvents;
[default, source]
Thanks, Jacek