24,854
社区成员
发帖
与我相关
我的任务
分享
class COcx1 : public CWnd
{
protected:
DECLARE_DYNCREATE(COcx1)
//DECLARE_DYNCREATE(CMediaPlayer2)
public:
CLSID const& GetClsid()
{
static CLSID const clsid
= { 0x6BF52A52, 0x394A, 0x11D3, { 0xB1, 0x53, 0x0, 0xC0, 0x4F, 0x79, 0xFA, 0xA6 } };
return clsid;
}
virtual BOOL Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle,
const RECT& rect, CWnd* pParentWnd, UINT nID,
CCreateContext* pContext = NULL)
{
return CreateControl(GetClsid(), lpszWindowName, dwStyle, rect, pParentWnd, nID);
}
BOOL Create(LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd,
UINT nID, CFile* pPersist = NULL, BOOL bStorage = FALSE,
BSTR bstrLicKey = NULL)
{
return CreateControl(GetClsid(), lpszWindowName, dwStyle, rect, pParentWnd, nID,
pPersist, bStorage, bstrLicKey);
}
class CMediaPlayer2 : public COleDispatchDriver
{
public:
CMediaPlayer2(){} // 调用 COleDispatchDriver 默认构造函数
CMediaPlayer2(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
CMediaPlayer2(const CMediaPlayer2& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
// 特性
public:
// 操作
public:
// IMediaPlayer2 方法
public:
double get_CurrentPosition()
{
double result;
InvokeHelper(0x403, DISPATCH_PROPERTYGET, VT_R8, (void*)&result, NULL);
return result;
}
void put_CurrentPosition(double newValue)
{
static BYTE parms[] = VTS_R8 ;
InvokeHelper(0x403, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);
}
double get_Duration()
{
double result;
InvokeHelper(0x3eb, DISPATCH_PROPERTYGET, VT_R8, (void*)&result, NULL);
return result;
}