ActiveX

         

MyCtrl.cpp


// MyCtrl.cpp : Implementation of CMyCtrlApp and DLL registration.

#include "stdafx.h"

#include "MyCtrl.h"

#ifdef _DEBUG

#define new DEBUG_NEW

#undef THIS_FILE

static char THIS_FILE[] = __FILE__;

#endif

CMyCtrlApp NEAR theApp;

const GUID CDECL BASED_CODE _tlid =

{ 0x49e2f37b, 0xb48d, 0x11d3, { 0xa2, 0xb0, 0, 0xa0, 0xc9, 0x55, 0xfa, 0x9e } };

const WORD _wVerMajor = 1;

const WORD _wVerMinor = 0;

////////////////////////////////////////////////////////////////////////////

// CMyCtrlApp::InitInstance - DLL initialization

BOOL CMyCtrlApp::InitInstance()



{

BOOL bInit = COleControlModule::InitInstance();

if (bInit)

{

// TODO: Add your own module initialization code here.

}

return bInit;

}

////////////////////////////////////////////////////////////////////////////

// CMyCtrlApp::ExitInstance - DLL termination

int CMyCtrlApp::ExitInstance()

{

// TODO: Add your own module termination code here.

return COleControlModule::ExitInstance();

}

/////////////////////////////////////////////////////////////////////////////

// DllRegisterServer - Adds entries to the system registry

STDAPI DllRegisterServer(void)

{

AFX_MANAGE_STATE(_afxModuleAddrThis);

if (!AfxOleRegisterTypeLib(AfxGetInstanceHandle(), _tlid))

return ResultFromScode(SELFREG_E_TYPELIB);

if (!COleObjectFactoryEx::UpdateRegistryAll(TRUE))

return ResultFromScode(SELFREG_E_CLASS);

return NOERROR;

}

/////////////////////////////////////////////////////////////////////////////

// DllUnregisterServer - Removes entries from the system registry

STDAPI DllUnregisterServer(void)

{

AFX_MANAGE_STATE(_afxModuleAddrThis);

if (!AfxOleUnregisterTypeLib(_tlid, _wVerMajor, _wVerMinor))

return ResultFromScode(SELFREG_E_TYPELIB);

if (!COleObjectFactoryEx::UpdateRegistryAll(FALSE))

return ResultFromScode(SELFREG_E_CLASS);

return NOERROR;

}


}

CString CMyCtrl::GetCaption()

{

CString result;

GetProperty(DISPID_CAPTION, VT_BSTR, (void*)&result);

return result;

}

void CMyCtrl::SetCaption(LPCTSTR propVal)

{

SetProperty(DISPID_CAPTION, VT_BSTR, propVal);

}

COleFont CMyCtrl::GetFont()

{

LPDISPATCH pDispatch;

GetProperty(DISPID_FONT, VT_DISPATCH, (void*)&pDispatch);

return COleFont(pDispatch);

}

void CMyCtrl::SetFont(LPDISPATCH propVal)

{

SetProperty(DISPID_FONT, VT_DISPATCH, propVal);

}

unsigned long CMyCtrl::GetTextColor()

{

unsigned long result;

GetProperty(0x4, VT_I4, (void*)&result);

return result;

}

void CMyCtrl::SetTextColor(unsigned long propVal)

{

SetProperty(0x4, VT_I4, propVal);

}

long CMyCtrl::GetSleep()

{

long result;

GetProperty(0x5, VT_I4, (void*)&result);

return result;

}

void CMyCtrl::SetSleep(long propVal)

{

SetProperty(0x5, VT_I4, propVal);

}

/////////////////////////////////////////////////////////////////////////////

// CMyCtrl operations

void CMyCtrl::DoClick()

{

InvokeHelper(DISPID_DOCLICK, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);

}

BOOL CMyCtrl::DoChangeTimer()

{

BOOL result;

InvokeHelper(0x6, DISPATCH_METHOD, VT_BOOL, (void*)&result, NULL);

return result;

}

void CMyCtrl::AboutBox()

{

InvokeHelper(0xfffffdd8, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);

}