// DrawingSinkClient.h : Declaration of the CDrawingSinkClient #ifndef __DRAWINGSINKCLIENT_H_ #define __DRAWINGSINKCLIENT_H_ #include "resource.h" // main symbols #include // Dialog Box Class Definition #import "..\ConnectObj\ConnectObj.tlb" no_namespace, named_guids, \ raw_interfaces_only ///////////////////////////////////////////////////////////////////////////// // CDrawingSinkClient class ATL_NO_VTABLE CDrawingSinkClient : public CComObjectRootEx, public CComCoClass, public IDispatchImpl< IDrawingSinkClient, &IID_IDrawingSinkClient, &LIBID_DRAWINGSINKLib >, public CAxDialogImpl // Dialog Box Support Class { public: int m_lx,m_ly; DWORD m_dwCookie; CDrawingSinkClient() { } enum { IDD = IDD_DIALOG1 }; // Add Enumerator for Dialog long FinalConstruct() // Create Dialog on Construction { Create(NULL); ShowWindow(SW_SHOW); srand(GetTickCount()); // Randomize seed MoveWindow(rand()%300,rand()%200,250,150); // Position Dialog return S_OK; } void FinalRelease() // Destroy Dialog on Destruction { DestroyWindow(); } // Add the following Windows Message Map for the Dialog BEGIN_MSG_MAP(CDrawingSinkClient) MESSAGE_HANDLER(WM_CLOSE, OnClose) END_MSG_MAP() DECLARE_REGISTRY_RESOURCEID(IDR_DRAWINGSINKCLIENT) DECLARE_PROTECT_FINAL_CONSTRUCT() BEGIN_COM_MAP(CDrawingSinkClient) COM_INTERFACE_ENTRY(IDrawingSinkClient) COM_INTERFACE_ENTRY(IDispatch) COM_INTERFACE_ENTRY_IID(DIID__IConnectDlgEvents,IDrawingSinkClient) END_COM_MAP() // IDrawingSinkClient public: STDMETHOD(MouseMove)(/*[in]*/ long x, /*[in]*/ long y); LRESULT OnClose(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) { PostQuitMessage(0); return 0; } static IUnknown* CreateConnectDlg() { IUnknown* pIUnkDlg = NULL; CoCreateInstance( CLSID_ConnectDlg, NULL, CLSCTX_SERVER, IID_IUnknown, reinterpret_cast(&pIUnkDlg) ); return pIUnkDlg; } HRESULT MakeConnection(IUnknown* pIConnectDlg) { m_lx = m_ly = -1; return AtlAdvise( pIConnectDlg,this->GetUnknown(),DIID__IConnectDlgEvents,&m_dwCookie ); } HRESULT DropConnection(IUnknown* pIConnectDlg) { return AtlUnadvise(pIConnectDlg, DIID__IConnectDlgEvents, m_dwCookie); } }; #endif //__DRAWINGSINKCLIENT_H_