15,979
社区成员
发帖
与我相关
我的任务
分享
void CPlayerDlg::MoveMovieWindow()
{
//改变窗口大小以适应控件大小
CRect rc1,rc2,rc3;
//得到ActiveMovie控件大小
m_amovie.GetWindowRect(&rc1);
//保证对话框客户区的宽不小于300象素,高不小于225象素
if(rc1.Width()<300||rc1.Height()<255)
{
rc1.right=rc1.left+300;
rc1.bottom=rc1.top+225;
}
//获得对话框的大小
GetWindowRect(&rc2);
//获得对话框客户区大小
GetClientRect(&rc3);
//改变对话框大小以适应ActiveMovie控件大小
MoveWindow(rc2.left,rc2.top,rc2.Width()-rc3.Width()+rc1.Width(),
rc2.Height()-rc3.Height()+rc1.Height());
//获得控件ActiveMovie的大小
m_amovie.GetWindowRect(&rc1);
GetClientRect(&rc3);
//使ActiveMovie控件在对话框的客户区居中
m_amovie.MoveWindow((rc3.Width()-rc1.Width())/2,
(rc3.Height()-rc1.Height())/2,rc1.Width(),rc1.Height());
}
其中m_amovie是AactiveMovie控件的变量名,每一次运行到m_amovie.GetWindowRect(&rc1)时总是报错,查看了一下获取不到值,但GetWindowRect(&rc2);和 GetClientRect(&rc3);却能获取到值。跪问那位高手能够解决一下???不胜感激~~~~ MoveWindow(rc2.left,rc2.top,rc2.Width()-rc3.Width()+rc1.Width(),
rc2.Height()-rc3.Height()+rc1.Height());
CRect rc1,rc2,rc3;
//得到ActiveMovie控件大小
m_amovie.FromHandle((HWND)GetDlgItem(IDC_ACTIVEMOVIECONTROL1));
m_amovie.GetWindowRect(&rc1);