关于MoveWindow的问题,求解

wwlovepz 2008-01-19 09:19:30
自己做个简单播放器,为了能调节控件大小,调用了MoveWindow()函数,在编译连接的时候没有出错,但是在运行程序时,弹出个对话筐:提示:Debug Assertion Failed!终止,重试,忽略,如果点忽略,程序照常执行,一点问题没有,下面是原代码
void CWangweiDlg::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);

// TODO: Add your message handler code here
m_OCX.MoveWindow(0, 0, cx, cy);
}
请问这是什么原因?
...全文
72 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Torch009 2008-01-20
  • 打赏
  • 举报
回复
MoveWindow 需要一个窗口句柄的。
wwlovepz 2008-01-20
  • 打赏
  • 举报
回复
谢谢,解决了
iamshuke 2008-01-20
  • 打赏
  • 举报
回复
程序启动前几次调用OnSize时,对话框里面的控件还没创建成功,这样改一下:

if(m_OCX.m_hWnd)
{
m_OCX.MoveWindow(0, 0, cx, cy);
}
wwlovepz 2008-01-20
  • 打赏
  • 举报
回复
iyranly 2008-01-19
  • 打赏
  • 举报
回复
你可以考虑
m_OCX.MoveWindow(0, 0, cx/2, cy/2); //如果m_ocx是对话框的一个控件,这样就可以保证控件与对话框成比例。还有前两个坐标可以根据你的控件位置自己调节。
iyranly 2008-01-19
  • 打赏
  • 举报
回复
什么断言,贴出来看看。
cnzdgs 2008-01-19
  • 打赏
  • 举报
回复
如果是调试程序,OnSize会不停地被调用。
cnzdgs 2008-01-19
  • 打赏
  • 举报
回复
没有判断nType的类型啊

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧