Figure 2
GetExternal and Invoke
STDMETHOD(GetExternal)(IDispatch** ppDispatch)
{
*ppDispatch = this;
return S_OK;
}
STDMETHODIMP CAtlBrCon::Invoke(DISPID dispidMember, REFIID riid, LCID lcid,
WORD wFlags, DISPPARAMS* pDispParams,
VARIANT* pvarResult,
EXCEPINFO* pExcepInfo, UINT* puArgErr)
{
switch (dispidMember)
{
case DISPID_SAYHELLO:
SayHello();
break;
default:
return DISP_E_MEMBERNOTFOUND;
}
return S_OK;
}
Figure 3
EnableAccelerator Parameters
|
nKeyCode
|
The key code constant that specifies an accelerator key (vbKeyTab, vbKeyN, vbKeyO, and so on).
|
|
nVirtExtKey
|
The virtual key code of an extended key, such as vbKeyControl, vbKeyAlt, or vbKeyShift. This parameter is optional and has a default value of 0.
|
|
bState
|
The state of the accelerator key. True turns on the accelerator key and False turns it off. This parameter has a default value of True.
|
Figure 5
Download Control
STDMETHODIMP CAtlBrCon::Invoke(DISPID dispidMember, REFIID riid, LCID lcid,
WORD wFlags, DISPPARAMS* pDispParams,
VARIANT* pvarResult, EXCEPINFO* pExcepInfo,
UINT* puArgErr)
{
switch (dispidMember)
{
case DISPID_AMBIENT_DLCONTROL:
*pvarResult = DLCTL_DLIMAGES|DLCTL_VIDEOS|
DLCTL_BGSOUNDS|DLCTL_NO_SCRIPTS;
break;
default:
return DISP_E_MEMBERNOTFOUND;
}
return S_OK;
}