怎么释放IMediaControl-CSDN论坛

 我来答
泪水起了涟漪
推荐于2016-11-11 · TA获得超过7430个赞
知道大有可为答主
回答量:4224
采纳率:0%
帮助的人:2311万
展开全部
m_iAfxDirectHeight=height;
// 一> 初始化DirectDraw

// 这个结构描述"页"的特徵,见 DDSURFACEDESC2结构体的简介.txt
DDSURFACEDESC ddsd;
// 清空变量
memset(&ddsd,0,sizeof(ddsd));
// 结构的大小
ddsd.dwSize = sizeof(ddsd);
// 设定页的大小,
ddsd.dwWidth=m_iAfxDirectWidth;
ddsd.dwHeight=m_iAfxDirectHeight;

HRESULT result;
result=DirectDrawCreate(NULL/*用当前的显示驱动*/,&m_pAfxDirectDraw,NULL);
if(result!=DD_OK)
return -1;

// 二> 设置屏幕的显示模式

// "全屏"模式下设置
m_pAfxDirectDraw->SetCooperativeLevel(m_hAfxDrawWnd, DDSCL_EXCLUSIVE|DDSCL_FULLSCREEN|DDSCL_ALLOWREBOOT);
// 设置屏幕颜色和大小(水平,垂直,颜色位数)
m_pAfxDirectDraw->SetDisplayMode(m_iAfxDirectWidth,m_iAfxDirectHeight,24);

// 三> 建立前页

// 用于指定结构中那些数据是有效的,DDSD_ALL表示所有的数据成员都有效
ddsd.dwFlags=DDSD_CAPS|DDSD_BACKBUFFERCOUNT;
// 后页一个
ddsd.dwBackBufferCount=1;
// 指定我们用的是前页
ddsd.ddsCaps.dwCaps=DDSCAPS_PRIMARYSURFACE|DDSCAPS_COMPLEX|DDSCAPS_FLIP;

// 建立前页
result=m_pAfxDirectDraw->CreateSurface(&ddsd,&m_pAfxMainSur,NULL);
// 当发生错误时, 要记得 Release对象.
if(result!=DD_OK)
{
AfxMessageBox("建立主页失败!");
return 0;
}

// 连接后缓冲区页,只有全屏方式下才行
DDSCAPS Caps;
Caps.dwCaps=DDSCAPS_BACKBUFFER;
result=m_pAfxMainSur->GetAttachedSurface(&Caps,&m_pAfxBackSur);
if(result!=DD_OK)
{
AfxMessageBox("连接后缓冲区失败!");
return 0;
}

return 1;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式