#include <olectl.h>
#include "dispids.h"
// hhctrl.idl : IDL source for hhctrl.ocx
//

// This file will be processed by the MIDL tool to
// produce the type library (hhctrl.tlb) and marshalling code.

import "oaidl.idl";
import "ocidl.idl";

    [
        object,
        uuid(adb880a1-d8ff-11cf-9377-00aa003b7a11),
        dual,
        helpstring("IHHCtrl Interface"),
        pointer_default(unique)
    ]
    interface IHHCtrl : IDispatch
    {
        [propput, id(DISPID_BMPPATH)]
        HRESULT Image([in]BSTR path);
        [propget, id(DISPID_BMPPATH)]
        HRESULT Image([out,retval]BSTR* path);
        [id(DISPID_METHOD_CLICK), helpstring("Click method")] HRESULT Click();
        [id(DISPID_METHOD_HHCLICK), helpstring("Click method")] HRESULT HHClick();
        [id(DISPID_METHOD_PRINT), helpstring("Print method")] HRESULT Print();
        [id(DISPID_METHOD_SYNC_URL), helpstring("syncURL method")] HRESULT syncURL(BSTR pszUrl);
        [id(DISPID_METHOD_TCARD), helpstring("TCard method")] HRESULT TCard(WPARAM wParam, LPARAM lParam);
        [id(DISPID_METHOD_TXT_POPUP), helpstring("Text Popup method")] HRESULT TextPopup(BSTR pszText, BSTR pszFont, int horzMargins, int vertMargins, COLORREF clrForeground, COLORREF clrBackground);
    };
[
    uuid(adb880a2-d8ff-11cf-9377-00aa003b7a11),
    lcid(0x0000),
    version(4.0),
    helpstring("HHCtrl 4.0 Type Library")
]
library HHCTRLLib
{
    importlib("stdole32.tlb");

    [
        uuid(adb880a3-d8ff-11cf-9377-00aa003b7a11),
        helpstring("Event interface for HHCtrl")
    ]
    dispinterface _HHCtrlEvents
    {
        properties:
        methods:
        [id(DISPID_ONCLICK)] void Click(BSTR ParamString);
    };
    [
        uuid(adb880a6-d8ff-11cf-9377-00aa003b7a11),
        helpstring("HHCtrl Class")
    ]
    coclass HHCtrl
    {
        [default] interface IHHCtrl;
        [default, source] dispinterface _HHCtrlEvents;
    };
};
